次より大きい重複行の削除

次より大きい重複行の削除

したがって、次の形式の入力ファイルがあります。

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'

おすすめ記事