[英]Grep on a single column in Linux
我正在嘗試解析df -h
命令的輸出。 例如:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VGExaDb-LVDbSys1
30G 17G 12G 58% /
/dev/sda1 496M 38M 433M 8% /boot
/dev/mapper/VGExaDb-LVDbOra1
99G 18G 76G 19% /u01
tmpfs 252G 90M 252G 1% /dev/shm
dbfs-dbfs_user@:/ 4.0T 283G 3.7T 8% /dbfs_direct
我只想要“可用”列下的值。 但是awk
命令不能正常工作,因為每行中的單詞數量不一樣。 當我運行df -h | awk '{print $4}'
df -h | awk '{print $4}'
命令,它給出如下輸出:
Avail
58%
433M
19%
252G
3.7T
試試這個:
df -Ph | awk '{ print $4 }'
每個man
頁面:
-P, --portability
use the POSIX output format
這不會導致不必要的換行。 h
會以人類可讀的格式給你。
我個人認為使用df
--output
選項是正確的方法:
df -h --output='avail'
快又臟? 試試這個:
df -h | grep / | awk '{print $4}'
更新:當使用僅設置為40列的控制台幾何體時,即使使用換行符也可以:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.