我正在寻找一种从日志文件中获取特定信息的方法。
这是我的日志文件:
------
[SQL STATEMENT
MAYBE
SEVERAL
LINES
LONG
]
ERR: [01.02.2012 14:17:44] [[SOME][MORE][INFO] additional debug informations]
[corresponding source file]
------
[SQL STATEMENT
MAYBE
SEVERAL
LINES
LONG
]
ERR: [01.02.2012 14:21:42] [[SOME][MORE][INFO] additional debug informations]
[corresponding source file]
------
[SQL STATEMENT
MAYBE
SEVERAL
LINES
LONG
]
DEBUG: [23.08.2011 22:30:01] []
[corresponding source file]
------
此日志文件包含sql语句的调试和错误信息。 我需要的是从这个日志文件中获取所有sql错误消息块。
这些块用'------'分隔。
与文件的第一个条目一样,错误消息由“ERR:”表示 消息块。 如何从文件中获取这些消息。 我不想为这种任务编写特殊的脚本。 如果可以通过使用命令行工具来完成它将会很好。
感谢您的帮助。
答案 0 :(得分:2)
awk
可以为您完成:
awk 'BEGIN { RS="------" ; ORS=RS}
$0 ~ "ERR: " { print }' INPUTFILE
将打印ERR:
块。如果您希望其他人将~
替换为!~
。
答案 1 :(得分:0)
您可以使用grep:
grep ERR: filename