2014-04-13 9 views
2

아래 명령은 파일 시스템 사용량이 10 %를 초과하는 장치를 표시합니다. 그러나 열 제목을 표시하지 않습니다.awk를 사용하여 디스크 사용량이 10 %를 초과하는 장치를 표시하고 열 머리글도 인쇄하십시오.

df -Ph | awk '+$5 >= 10 {print}' 

내가이

Filesystem      Size Used Avail Use% Mounted on 
/dev/mapper/VolGroup00-LogVol00 9.7G 1.9G 7.4G 21%/
/dev/mapper/VolGroup00-LogVol  5.0G 665M 4.1G 14% /app 
server:/data      5.0G 546M 4.3G 12% /data 

답변

4
같은 출력이

당신이 선을 인쇄 할 수 AWK 두 가지 조건을 사용하여이 작업을 수행 할 수 있습니다 원하는 : 디스크 사용량 중 10 % 이상이 내가 사용하는 명령입니다 , 중 첫 번째 매개 변수는 "파일 시스템"입니다 : sugg로

df -Ph | awk '(+$5 >= 10 || $1=="Filesystem") {print}' 

편집 당신이 (인쇄는 기본 동작입니다)이 같은이 짧은 쓸 수 Jotne에 의해 ested :

df -Ph | awk '+$5>=10 || $1=="Filesystem"' 
+0

괄호는 필요 없으며'print'는 필요하지 않으므로 다음과 같이 할 수 있습니다 :'df -Ph | awk '+ $ 5> = 10 || $ 1 == "파일 시스템" ' – Jotne

3

우리가 첫 번째 줄에서 찾고 또는 다섯 번째 필드 (10)

df -Ph | awk 'NR==1 || +$5 >= 10' 
보다 크거나 같으면 인쇄

Awk의 기본 동작은 블록을 생략 할 수 있도록 줄을 인쇄하는 것입니다.

+0

+1이 awk에서 이것을 수행하는 방법입니다. 나는 단지 '+ $ 5'가 숫자 비교를 강요하는 것을 보지 못했고, 나는 항상 ($ 5 + 0)을 사용했다. 그것이 작동하고 이식성이 보장되는지 아십니까? –