Unix awk、フラグ関数、複数のif条件

Unix awk、フラグ関数、複数のif条件

私は大きなドキュメントを持っており、2つのモードで作業するためにflagコマンドを使用しています。

/Nodes/ {f=1} /EndNodes/ {f=0}

目的の出力が得られたので、出力として20、31、32を取得するようにフィルタリングする必要があります。私は次のコマンドを使用しています:

{if ($2 + 0 >= 0 && $3 + 0 == 0 && max = $4)
{print $1}}

しかし、私は次のような結果を得ます。

20,31,32,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34.

18から34までの数字が条件を満たすことに注意してくださいmax = $4。どんな提案がありますか?

ベストアンサー1

Steeldriverが指摘したように、シングルは割り当てたい値である=値を生成する割り当て操作です。値が正の場合(数値18〜34に表示)awk では「true」の正数です。

課題ではなく比較テストになるようにmax = $4変更するだけです。max == $4

おすすめ記事