web-dev-qa-db-ja.com

「df -h」コマンドは、出力に改行を入れます。どうすれば修正できますか?

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
14
djangofan

試してください:df -Pkh

Pは「ポータブル」の略で、POSIX標準出力に従うように強制します。
dfが実行しようとする巧妙な書式設定を修正する予定です。

将来これらのような問題を解決しようとするときは、man dfを試してみて、動作するように見えるものを見つけることができるかどうかを確認してください。

18
user606723
 df -Ph | awk '{printf "%-35s%-10s%-10s%-10s%-5s%s\n",$1,$2,$3,$4,$5,$6}'
2
Sumit Chauhan