並べ替えと大文字と小文字を無視せずに重複行を削除する

並べ替えと大文字と小文字を無視せずに重複行を削除する

それでは、次のようにソートせずに重複した行を削除したいとします。このスレッドしかし、すべての文字列を大文字または小文字に事前に変換し、最初の結果の大文字と小文字を保持せず、大文字と小文字を区別しない重複行を削除したいと思います。どうすればいいですか?

ベストアンサー1

の変種参照質問に許容されるソリューションあなたのためにこれをします:

awk '!x[tolower($0)]++'

「あらかじめすべての文字列を大文字または小文字に変換しない」とは、上記のコマンドを実行する前に文字列を変換しないことを意味すると仮定します。これにより、最初の結果の大文字と小文字が保存されなくなります。このアプローチは、最初の一致ケースを維持します。

$ awk '!x[tolower($0)]++' <<EOF
éCoLe
École
école
ÉCOLE
EOF
éCoLe

おすすめ記事