if 조건을 통해 awk 결과를 특정 값과 비교하고 싶습니다.

if 조건을 통해 awk 결과를 특정 값과 비교하고 싶습니다.

다음 명령으로 결과를 얻었습니다. 이는 임계값과 비교하고 싶은 구동 용량입니다. 그래서 각 행을 특정 값과 비교하고 싶습니다. 그보다 크면 특정 조건을 따릅니다.

df -kP | awk '{print $5}'| sed 's/%//g'|sed -n '1!p'

이 명령의 출력은 다음과 같습니다.

36
0
19
36
36

답변1

그냥 awk에서 모든 작업을 수행하세요.

df -kP | awk 'NR > 1 { gsub("%","",$5); if (0 + $5 > 90) { system("echo " $6 " is too high") }}'

$5여기서는 이전과 같이 수행하지만 제거된 gsub()표기법을 사용 %하고 $5를 정수로 처리한 후 이를 마법의 값인 90과 비교하여 true인 경우 시스템 명령(echo)을 호출합니다.NR > 1sed

관련 정보