印刷せずにawkでどのように機能しますか?

印刷せずにawkでどのように機能しますか?
bash-3.00# cat > b1.txt
AAA,Apples,123
BBB,Bananas,124
CCC,Carrot,125
bash-3.00# cat > b2.txt
Store1|AAA|123|11
Store2|BBB|124|23
Store3|CCC|125|57
Store4|DDD|126|38
bash-3.00# awk -F"[,|]" 'NR==FNR{a[$1]++;next} !a[$2]' b1.txt b2.txt
Store4|DDD|126|38

NR==FNR最初のファイルがtrueを返すとa[$1]増加します。nextスクリプトの先頭に戻ります。ところで!a[$2]ここで何が起こっているのでしょうか?コマンドなしでprintどのように印刷されますか?

ベストアンサー1

~からPOSIXawk仕様:

awk プログラムは、次の形式のペアで構成されます。

pattern { action }

パターンまたは操作(括弧文字を含む)のいずれかを省略できます。 ...[A] 欠落している操作は次のとおりです。

{ print }

!a[$2]あなたの場合模様、そして行動力の欠如。

おすすめ記事