如果超过 X 个字符,系统会在日志文件中换行。我正在尝试从日志中提取各种数据,但首先我需要合并所有分割线,以便 gawk 可以将字段解析为单个记录。
例如:
2012/11/01 field1 field2 field3 field4 fi
eld5 field6 field7
2012/11/03 field1 field2 field3
2012/12/31 field1 field2 field3 field4 fi
eld5 field6 field7 field8 field9 field10
field11 field12 field13
2013/01/10 field1 field2 field3
2013/01/11 field1 field2 field3 field4
我想回来
2012/11/01 field1 field2 field3 field4 field5 field6 field7
2012/11/03 field1 field2 field3
2012/12/31 field1 field2 field3 field4 field5 field6 field7 field8 field9 field10 field11 field12 field13
2013/01/10 field1 field2 field3
2013/01/11 field1 field2 field3 field4
在我的情况下,实际的最大行长度是 130。我不愿意测试该长度并用于getline
加入下一行,以防有一个正好 130 个字符长的条目。
清理完日志文件后,我还想提取所有相关事件,其中“相关”可能涉及以下标准:
- 'foo' 位于记录中任何字段的任何位置
- 字段2 ~ /bar| dtn /
- 如果field1 ~ /xyz|abc/ && field98 == "0001"
我想知道是否需要运行两个连续的 gawk 程序,或者是否可以将所有这些程序合并为一个。
我是一个笨拙的新手,来自非 Unix