iostat -En | nawk '/Hard Errors/ {line=$0;gsub(/.*Hard Errors:/,""); \
if($1>2) printf("%s\n",line); }'
这个的输出是
c0t1d0 Soft Errors: 0 Hard Errors: 5 Transport Errors: 0
但就我而言,我需要像这样显示输出:
warning about iostat hard error , transport error & soft errors > 2 on system1 is \
"c0t1d0 Soft Errors: 0 Hard Errors: 5 Transport Errors: 0".
但不仅在硬错误情况下,而且如果以上 2 个错误(硬错误、传输错误和软错误)中的任何一个都需要显示。
答案1
如果我理解正确的话,您正在寻找这样的东西:
$ iostat -En | nawk '/Hard Errors:/{if($4>2 || $7>2 || $10){
print "Iostat warning on system1, hard, soft or transfer errors > 2:\n"$0}}'
由于Linux版本iostat
没有-E
或-n
选项,所以我无法检查这一点。如果它没有达到您想要的效果,请发布您的iostat
命令的输出,以便我可以看到要解析的内容。