df -h 출력에서 ​​특정 행을 인쇄하려면 awk를 사용하십시오.

df -h 출력에서 ​​특정 행을 인쇄하려면 awk를 사용하십시오.

df -h를 실행하면 다음이 표시됩니다.

/dev/sda2                     46G  3.2G   41G   8% /
udev                          24G  4.0K   24G   1% /dev
tmpfs                        9.5G   10M  9.5G   1% /run
none                         5.0M     0  5.0M   0% /run/lock
none                          24G     0   24G   0% /run/shm
/dev/mapper/DG9999-lvDG9999   82T   75T  7.5T  91% /DG9999
/dev/sda3                     20G  445M   19G   3% /home
clamfs                        82T   75T  7.5T  91% /DG9999/clamfs

나는 다음 명령을 사용하고 있습니다 :

 df -h / | grep -v Filesystem | awk '{print $5}' | sed 's/%//g'

현재 출력에는 출력의 첫 번째 행에 있는 다섯 번째 열이 표시됩니다 . df -h즉, 8출력이 표시되도록 출력의 6행에 관심이 있음을 어떻게 지정합니까 91?

감사해요

답변1

적절한 파일 시스템(또는 마운트 지점)을 지정해야 합니다.

df -h /DG9999 | grep -v Filesystem | awk '{print $5}' | sed 's/%//g'

df대부분의 Linux 시스템에서 출력을 구문 분석할 때 이 -P옵션을 사용하여 각 파일 시스템에 대한 정보가 한 줄에 유지되도록 해야 합니다.

df -hP /DG9999 | grep -v Filesystem | awk '{print $5}' | sed 's/%//g'

AWK만 사용하도록 모든 출력 작업을 결합할 수 있습니다.

df -hP /DG9999 | awk '!/Filesystem/ { print substr($5, 1, length($5) - 1) }'

최근 GNU 설정에서는 다음을 실행할 수도 있습니다.

df --output=pcent /DG9999 | sed '1d;s/%//'

관련 정보