SHELLからAWKに変数を渡す

SHELLからAWKに変数を渡す

私のシステムの各zpoolスペースをチェックするためにSolaris 11に1行を書きたいと思います。出力は次のとおりです...

myzone1 rpool 83%
myzone2 rpool 49%

私が読んだすべての投稿は、-vスイッチを使用してシェル変数をawkに渡すことを示しています。

試みるたびにエラーが発生します。

このコードはうまくいきます。私は草および使用された比率を得ます。

for i in `zoneadm list -icv|grep running|awk '{print $2}'`; do
    zlogin $i zpool list -H|awk '{print $1" "$5}';
done

このレポート出力に地域名を追加したいと思います。このコードは私には適していません!

for i in `zoneadm list -icv|grep running|awk '{print $2}'`; do
    zlogin $i zpool list -H|awk -v i="$i" '{print i" "$1" "$5}';
done

私がどこで間違っているのかを理解するのに役立ちますか?

ベストアンサー1

このコメントに感謝します:

関連:Solaris 11のPOSIX awkマーク・プロニック

コードを次のように書き直しました。

for i in `zoneadm list -icv|grep running|awk '{print $2}'`; do zlogin $i zpool list -H|/usr/bin/nawk -v i="$i" '{print i" "$1" "$5}';done

これは私が望む方法で報告します。

おすすめ記事