运行dh -h
时,我有以下输出:
Filesystem Size Used Avail Use% Mounted on
udev 252G 0 252G 0% /dev
tmpfs 51G 298M 51G 1% /run
/dev/md2 873G 299G 529G 37% /
tmpfs 252G 70G 183G 28% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 252G 0 252G 0% /sys/fs/cgroup
/dev/md0 453M 142M 284M 34% /boot
tmpfs 51G 0 51G 0% /run/user/1002
tmpfs 51G 0 51G 0% /run/user/1004
tmpfs 51G 0 51G 0% /run/user/1005
tmpfs 51G 0 51G 0% /run/user/1008
我已构建此查询df -h / | grep -oP "(\d+(\.\d+)?(?=%))"
,成功获取/
上的使用百分比,但是我无法对其进行一些更改。
我正在尝试更改它,以便我可以获取Filesystem
名称以/dev/
开头的所有行的使用百分比,因此在这种情况下它将是/dev/md2
并且/dev/md0
,其各自的整数为37
和34
。
对不起,如果这是微不足道的,有人能引导我朝正确的方向前进吗?感谢。
答案 0 :(得分:1)
df -h | awk '$1 ~ /^\/dev/ { gsub(/%/, ""); print $5; }'
在此处生成以下输出:
21
21
35
这是/
,/home
和/boot
的用法,因为所有这些文件系统列的开头都有^/dev
。
awk调用的作用:对于第一个字段与正则表达式/dev
匹配的行,所有百分比都被空字符串替换,并打印第五个字段。