하드 오류, 전송 오류 및 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}}'

리눅스 버전에는 or 옵션이 iostat없어서 확인할 수가 없습니다. 원하는 대로 작동하지 않으면 무엇을 구문 분석할지 확인할 수 있도록 명령 출력을 게시해 주세요.-E-niostat

관련 정보