/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)