サーバーを確認するためにスクリプトを見つけ、これを見つけました。
df -h | xargs | awk '{print "Free/total disk: " $11 " / " $9}'
free -m | xargs | awk '{print "Free/total memory: " $17 " / " $8 " MB"}'
値が$11、$9、$17、$8である理由とxargsを使用する理由を本当に理解していません。誰かがこれを明確にすることができますか?ちなみに、これは私の端末からのdh -hコマンドの出力です。
[root@ip-10-0-7-125 07-04-2016]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 20G 3.4G 17G 17% /
ベストアンサー1
引数なしxargs
で入力を単語に分割し、単一のスペースで区切って出力します。
echo -e a b\\nc | xargs
与えられた
a b c
したがって、df
パイプラインの出力はxargs
単一行に縮小され、そこで再分割されawk
て生成されます。
トークンは$n
次に置き換えられます。N最初の単語free -m
出力例(およびの出力)で単語数を数えると、その項目が表示されます。
xargs
awk
これは、入力の2行目のみを表示するように指示することで回避できます。また、長いデバイス名が分割されないようにするには、-P
ここでこのオプションを使用する必要があります。df