Linuxボックスの「df -h」コマンドには長い名前のデバイスが含まれているため、「df -h」の出力に改行(またはタブ??)が含まれているため、スクリプトで出力を解析するのが困難です。
誰も私が改行を抑制する方法を知っているので、次の出力の後者は私が得るものです:
[root@me ~]# df -kh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
3.9G 404M 3.3G 11% /
/dev/mapper/VolGroup00-LogVol05
3.9G 442M 3.3G 12% /home
/dev/mapper/VolGroup00-LogVol04
3.9G 261M 3.5G 7% /var
/dev/mapper/VolGroup00-LogVol03
3.9G 137M 3.6G 4% /tmp
/dev/mapper/VolGroup00-LogVol02
7.8G 3.6G 3.8G 49% /usr
そして、望ましい形式は次のとおりです。
[root@me ~]# df -kh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00 3.9G 404M 3.3G 11% /
/dev/mapper/VolGroup00-LogVol05 3.9G 442M 3.3G 12% /home
/dev/mapper/VolGroup00-LogVol04 3.9G 261M 3.5G 7% /var
/dev/mapper/VolGroup00-LogVol03 3.9G 137M 3.6G 4% /tmp
/dev/mapper/VolGroup00-LogVol02 7.8G 3.6G 3.8G 49% /usr
試してください:df -Pkh
Pは「ポータブル」の略で、POSIX標準出力に従うように強制します。
dfが実行しようとする巧妙な書式設定を修正する予定です。
将来これらのような問題を解決しようとするときは、man df
を試してみて、動作するように見えるものを見つけることができるかどうかを確認してください。
df -Ph | awk '{printf "%-35s%-10s%-10s%-10s%-5s%s\n",$1,$2,$3,$4,$5,$6}'