【发布时间】:2016-12-01 08:44:12
【问题描述】:
我想对错误进行 server.log 分析,我想在该错误的 10 行之前和 10 行之后,所以下面的脚本在 Hp-ux 中给出错误,请提供替代解决方案:
grep -A 10 -B 10 "错误" server.log >> /tmp/Test.log
【问题讨论】:
我想对错误进行 server.log 分析,我想在该错误的 10 行之前和 10 行之后,所以下面的脚本在 Hp-ux 中给出错误,请提供替代解决方案:
grep -A 10 -B 10 "错误" server.log >> /tmp/Test.log
【问题讨论】:
希望对你有帮助
grep -A10 -B10 -P "ERROR" server.log >> /tmp/Test.log
【讨论】:
由于旧的grep 没有方便的-ABC 选项,解决方案有点复杂:
grep -n "ERROR" server.log | sed 's/\([0-9]*\):.*/\1-10<=NR\&\&NR<=\1+10{print;next}/' \
| awk -f- server.log >>/tmp/Test.log
这使用sed -n 获取行号并使用sed 生成的awk 脚本来打印上下文。
【讨论】: