awkで切り替えることができるブール値を生成する方法は?

awkで切り替えることができるブール値を生成する方法は?

bool他のプログラミング言語には通常or型がありますboolean。ブール型変数を生成し、not演算子を使用してそれらを切り替えることができます。複数回切り替えて、一連の真、偽、真、偽を得ることができます。

awkにはブール型はありません。空の文字列と数字0のみがfalseと見なされます。他のすべての値はtrueです。この場合、1、3、5行目でAジョブを実行し、2、4、6行目でBジョブを実行するにはどうすればよいですか?ブール型変数があり、単に次のようにnot言うことができます。

答え1

バラよりawk '!a[$0]++' はどのように機能しますか?

デフォルトでは、これを使用すると0から1に、1から0に行くのがa=!a無効になります。a

あなたはテストすることができます

ls | awk '{a=!a; if ( a ) printf "good %s\n",$0 ; else printf "bad\n";}'

関連情報