1

スクリプトの一部として、いくつかのファイルを検索し、特定の列の値が特定の数値以上かどうかを確認する必要があります。

この簡単な例では、最初の行の列 3 の値が 10 より大きいかどうかを確認します。

head -1 examplefile | awk '{print $3}' | if [?? > 10 ]; then print "YES"; fi

問題は、if コマンド (??) の入力として、awk から stdout (これは必要な数値) を呼び出すことです。

十分に単純なはずですが、私はただ愚かだと思います... ;)

乾杯、マーティン

4

1 に答える 1

1

awkの出力を変数に設定しないのはなぜですか?

myVar=$(head ... awk '{print $3}')

ifステートメントでそれをテストします。

if [ $myVar -gt 10 ]; then
    print "YES"
fi

-gt (演算子が必要になると思います)。

または、awk の条件ステートメントを使用して、これを完全に回避してみませんか?

于 2012-11-01T10:53:37.487 に答える