df -h出力から特定の行を印刷するには、awkを使用します。

df -h出力から特定の行を印刷するには、awkを使用します。

df -h を実行すると、以下が表示されます。

/dev/sda2                     46G  3.2G   41G   8% /
udev                          24G  4.0K   24G   1% /dev
tmpfs                        9.5G   10M  9.5G   1% /run
none                         5.0M     0  5.0M   0% /run/lock
none                          24G     0   24G   0% /run/shm
/dev/mapper/DG9999-lvDG9999   82T   75T  7.5T  91% /DG9999
/dev/sda3                     20G  445M   19G   3% /home
clamfs                        82T   75T  7.5T  91% /DG9999/clamfs

私は次のコマンドを使用しています:

 df -h / | grep -v Filesystem | awk '{print $5}' | sed 's/%//g'

現在の出力には、出力の最初の行にある5番目の列が表示されます。df -hつまり、8出力が表示されるように出力の6行に興味があることをどのように指定しますか91

ありがとう

ベストアンサー1

適切なファイルシステム(またはマウントポイント)を指定する必要があります。

df -h /DG9999 | grep -v Filesystem | awk '{print $5}' | sed 's/%//g'

dfほとんどのLinuxシステムで出力を解析するときは、この-Pオプションを使用して各ファイルシステムに関する情報を1行に保持する必要があります。

df -hP /DG9999 | grep -v Filesystem | awk '{print $5}' | sed 's/%//g'

AWKのみを使用するようにすべての出力操作を組み合わせることができます。

df -hP /DG9999 | awk '!/Filesystem/ { print substr($5, 1, length($5) - 1) }'

最近のGNU設定では、以下を実行することもできます。

df --output=pcent /DG9999 | sed '1d;s/%//'

おすすめ記事