awk を使用できます
df | awk '$1=="/dev/sda"{print $4}'
ポータブル:
df -P /dev/sda1 | awk 'NR==2 {print $4}'
-P
オプションで df
期待される形式で出力を出力し、特にデバイス名が長くても改行しません。デバイス名を引数として df
に渡す /dev/sda10
の情報を取得するなど、解析から危険を取り除きます /dev/sda1
をクエリしているとき . df -P
ヘッダー行 (無視します) と目的の列を印刷する 1 つのデータ行の 2 行を印刷するだけです。
df
のリスクがあります たとえば、ボリュームが名前でマウントされ、名前にスペースが含まれている場合や、リモート マウント ポイントにスペースが含まれている NFS ボリュームの場合、スペースを含むデバイス名が表示されます。この場合、df
の出力を解析する完全に移植可能な方法はありません。 . df
に自信がある場合 渡した正確なデバイス名が表示されます (常にそうであるとは限りません)。それを取り除くことができます:
df -P -- "$device" | awk -vn=${#device} 'NR==2 {$0 = substr($0, n+1); print $3}'
awk を使用できます
df | grep sda | awk '{print $4}'