下面是我用来 grep 应用程序日志中的所有错误/异常的脚本:
$ tail -f -n 0 /web/*/logs/*.log | awk '{ if ( $0 ~ /==>.*<==/) { print "File :" $0 } else if( $0 ~ /error/ || $0 ~ /Error/ || $0 ~ /exception/ || $0 ~ /Excpetion/ || $0 ~ /ORA-/ || $0 ~ /fatal/ || $0 ~ /Fatal/){print "Error " $0}}'
输出很好,但我的要求是我需要并行解析其他系统命令的输出,例如:
vmstat
top
sar
等等
有没有一种方法可以通过运行单个 awk 命令获得所有命令的输出,例如:
awk process output of:
application logs
vmstat
top
sar
ETC
请注意,我们的盒子里只安装了 awk 和 gawk。