awkを使用してすべての空行を維持しながら重複行を削除する方法は?

awkを使用してすべての空行を維持しながら重複行を削除する方法は?

次のawkコマンドは、すべての重複行を削除します。ここで説明されているように:

awk '!seen[$0]++'

テキストに空白行が含まれている場合は、空白行が 1 つだけ残り、すべて削除されます。

すべての空行を維持する方法また、空でない重複行をすべて削除し、awk? を使用します。簡単な説明も含めてください。

ベストアンサー1

NF別のオプションは、次のように確認することです。

awk '!NF || !seen[$0]++'

または均等に:

awk '!(NF && seen[$0]++)'

おすすめ記事