서버에서 파일 시스템 사용량을 얻으려면 다음 명령이 있습니다.
df -k | awk '{print $5 " " $6}' | grep %
실행 후 결과는 다음과 같습니다.
97% /
0% /proc
0% /etc/mnttab
0% /dev/fd
46% /var
1% /var/run
1% /tmp
54% /opt/app/oracle
22% /opt/app/proviso
내 질문은 포함된 행을 사라지게 하려면 어떻게 해야 합니까 97% /
?
답변1
다음 명령을 사용하여 필터링하고 정리할 수 있습니다 awk
.
df -k | awk '/%/ && NR > 2 {print $5 " " $6}'
/%/
그리고 같은 일을 하고 있어요 grep %
.
NR > 2
레이블과 선을 필터링합니다 /
.
답변2
tail을 사용하여 첫 번째 줄을 삭제할 수 있습니다.
df -k | awk '{print $5 " " $6}' | grep % | tail --lines +2
+2
라인 2부터 시작하는 모든 라인을 인쇄하려는 것을 나타냅니다.
답변3
df
다음과 같이 반환할 때까지는 괜찮을 것입니다 .
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rootvg-lv_root
367G 246G 103G 71% /
tmpfs 48G 0 48G 0% /dev/shm
이것은 분명히 스크립트/명령을 깨뜨릴 것입니다. 그래서 나는 당신에게 제안합니다항상 스크립트의 명령 -P
에 키 적용df
.
귀하의 원래 질문과 관련하여 간단한 정규식을 사용하여 이를 수행하겠습니다.
df -Ph |awk '{if($6 ~ /^\/.+/) print $5, $6}'