ループと変数の読み込み中

ループと変数の読み込み中

私はあなたの評議会を探しています。

与えられたファイルのすべての行を配列に読み込み、一連のステートメントを実行して、そのパラメータが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

おすすめ記事