0

我想在我的主目录中获得剩余的磁盘空间:

df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs           20G   15G  3.5G  81% /
/dev/root        20G   15G  3.5G  81% /
devtmpfs        990M  4.0K  990M   1% /dev
none            199M  2.7M  196M   2% /run
none            5.0M     0  5.0M   0% /run/lock
none            991M   12K  991M   1% /run/shm
/dev/sda2       894G  847G  1.9G 100% /home

注意:我需要从上面的输出中得到1.9G

4

5 回答 5

2

用于grep仅获取 /home 行,并awk仅获取所需的字段:

df -h | grep -w /home | awk '{print $4}'
于 2015-10-13T21:33:55.803 回答
1

尝试以下awk命令:

df -h | awk '$6 == "/home" { print $4 }'
  • $6 == "/home"仅处理第 6 个空格分隔的列包含/home.
  • { print $4 }在该行上打印第 4 个空格分隔的字段,即剩余的磁盘空间。
于 2015-10-13T21:32:30.933 回答
1

尝试以下命令之一:

$ grep -o 1.9G <(df -h)
$ df -h|awk '/home/{print $4}'
$ grep home <(df -h) | awk '{print $4}'
$ df=($(tail -1 <(df -h))) echo ${df[3]}
$ vi -es +'%j|norm 3dWWd$' -c%p -cq! <(df -h)
$ printf "%s\n" $(tail -1 <(df -h))|tail -3|head -1
$ ex -s <(df -h|egrep -o "\S+\s+\S+\s+/home") +'norm Wd$' +%p -cq!
于 2015-10-13T21:50:36.267 回答
0

试试这个:

df -h | awk '{print $4}'
于 2015-10-13T21:12:12.220 回答
0

虽然回旋处,并绑定到 ext2,但这是一种方法tune2fs

tune2fs /dev/sdc1 -l | egrep '^(Free blocks|Block size)' | 
    cut -d: -f2 | xargs |
    while read free size; 
    do 
        echo "$free blocks of size $size free: $((($size*$free)>>20)) mebibytes"
    done
于 2015-10-13T21:19:01.040 回答