簡體   English   中英

Grep在Linux中的一個列上

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM