awkを使用してn番目の列を印刷し、重複エントリを削除する方法は?

awkを使用してn番目の列を印刷し、重複エントリを削除する方法は?

以下のawkを使用して列8を印刷し、その列の重複項目を削除します。

awk -F "," '{print $8}' filecsv | awk '!NF || !seen[$0]++'

上記のパイプラインで awk を 2 回実行するのではなく、1 つの awk を使用してこれを行うにはどうすればよいですか?

答え1

awk -F , '!seen[$8]++ { print $8 }' filecsv

これは、8番目のフィールドの値が表示されていることを確認し、表示されていない場合にのみ印刷します。

関連情報