ハードエラー、転送エラー、および2つ以上のソフトエラーを表示する必要があります

ハードエラー、転送エラー、および2つ以上のソフトエラーを表示する必要があります
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バージョンにはorオプションがiostatないため、確認できません。必要に応じて機能しない場合は、何を解析するかを確認できるようにコマンド出力を公開してください。-E-niostat

関連情報