私はあなたの評議会を探しています。
与えられたファイルのすべての行を配列に読み込み、一連のステートメントを実行して、そのパラメータがtrueかfalseかを確認したいと思います。
以下は、各行の値を配列に抽出するなどのファイルIDの例です。
2019-11-07 10:07:08,000 p=28290 u=root | ansclient2 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
2019-11-07 12:48:42,438 p=1830 u=root | ansclient : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
だから努力しています -
while read -r row ; do
args=${row[@]}
#pid
pc=${row[2]}
#hostname
hn=${row[5]}
#failed row
st=${row[10]}
echo $pc
echo $hn
echo $st
if [ $st -eq "failed=0" ] ; then echo "true"
else
echo "failed is something other than 0"
echo $hn $st
fi
期待どおりに動作しません。 [trueの場合]各行を配列として繰り返し、 'failed ='の値を比較して0または他の値であることを確認したいと思います。
誰でも助けてくれたら本当にありがとうございます。
事前にありがとう
ベストアンサー1
これらのファイルを読むには、以下を使用することをお勧めしますawk
。
awk '{
print $3
print $6
print $11
if ($11 == "failed=0") print "true"
else print "failed is something other than 0"
}' file