我正在UNIX盒子上工作,并尝试运行一个应用程序,它给标准输出提供了一些调试日志.我已将此输出重定向到日志文件,但现在希望获取显示错误的行.
我的问题在于这很简单
cat output.log | grep FAIL
没有帮助.因为这只显示了其中包含FAIL的行.我想要更多的信息.就像这条线上方的2-3条线路一样失败.有没有办法通过一个简单的shell命令来做到这一点?我想有一个命令行(可以有管道)来执行上述操作.
grep -C 3 FAIL output.log
请注意,这也消除了猫(UUOC)的无用使用.
grep -A $ NUM
这将在匹配后打印$ NUM行的尾随上下文.
-B $ NUM打印前导上下文.
男人grep是你最好的朋友.
所以在你的情况下:
猫日志| grep -A 3 -B 3失败