한 줄의 Linux 명령으로 총 사용된 GB와 해당 비율을 표시합니다.

한 줄의 Linux 명령으로 총 사용된 GB와 해당 비율을 표시합니다.

/dev/sda다음 형식으로 출력을 얻으 려고합니다 .

20%(50GB 중 10GB 사용됨)

나는 다음을 사용하려고합니다 :

df -h /dev/sda3|awk 'NR==2'|awk '{print $5}'

그러나 그것은 백분율을 제공합니다. echo 및 여러 awk 문을 사용해 보았지만 명령이 작동하지 않거나 원하는 출력을 제공하지 않습니다.

답변1

노력하다

df -B1G /dev/sda1|awk 'NR==2{print $5,"("$3,"GB used out of",$2,"GB)."}'

-B1G출력을 GB 단위로 강제합니다. 그런 다음 원하는 필드를 삭제하면 됩니다.

약간 더 예쁜 코드, 동일한 결과:

df -B1G /dev/sda1|awk 'NR==2{printf "%s (%d GB used out of %d GB).\n",$5,$3,$2}'

sed버전:

df -B1G /dev/sda1|sed -n 's!^/[^ ]* *\([0-9]*\) *\([0-9]*\) *[0-9]* *\([0-9%]*\).*!\3 (\2 GB used out of \1 GB).!p'

답변2

다음 명령을 사용해 볼 수 있습니다.

df -Ph /dev/sda1|awk 'NR >1{print $(NF-1)"("$3" "  "used out of " " " $2")"}'

주문하다

df -Ph /dev/sda1|awk 'NR >1{print $(NF-1)"("$3" "  "used out of " " " $2")"}'

31%(140M used out of  488M)

관련 정보