以下の基本スクリプトを改善する方法について助けを求めたいと思います。
したがって、bashに引数を渡すことはできますが、awkコマンドをより柔軟にすることはできますか?
コマンドにエラーが発生しましたdf -h
。 2行のファイルシステムが1つ表示されます(1行だけが必要です)。
$6
これにより、パラメータ番号(および)$5
が変更されたため、スクリプトは正しいパラメータを表示しません。
サンプル:
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/test/test2/test3 1.1G 100M 1G 1% /test
/dev/test/test2/test3/test4
1.1G 100M 1G 1% /tst2
$ cat myscript.sh
#!bin/bash
df -h "$@" | awk '{print $6,"=",$5}' | sed -n '1!p'
$ ./myscript.sh /test /tst2
私の出力は
/test=1%
=/tst2
しかし、そうしなければなりません。
/test=1%
/tst2=1%
ベストアンサー1
df
ただ使用すると、出力後処理を心配する必要はありません。
df -P
これにより、1つのファイルシステムへの出力が複数行にまたがるのを防ぎます。
したがって、最終スクリプトは次のようになります。
df -h -P "$@" | awk '{ print $6,"=",$5}' | sed -n '1!p'