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";}'