したがって、次の形式の入力ファイルがあります。
Hello\tWorld
それから私は利用可能です
awk -F"\t" '!seen[tolower($1)]++'
最初の列に基づいて重複行を削除します。しかし、そのステートメントで条件をどのように設定しますか?つまり、文字列が5回以上使用されている場合は、重複した行のみを削除しますか、それともすべての行を削除しますか?
入力例:
Hello World
Hello World
Hello World
Hello World
Hello World
New Example
Hello World
したがって、上記の例では、column1は5回以上存在するため、予想される出力は次のようになります。
Hello World
New Example
または、特定の行を完全に削除するには
New Example
ベストアンサー1
式は、配列項目が最初に存在するかどうかをテストするブール値です。効果がある!条件を反転するには。しかし、ずっと計算されている。
ただテストに慣れてください。バージョン6以降の印刷を拒否します。
awk -F"\t" '++seen[tolower($1)] <= 5'