重複行の大/小文字を区別せずに計算、重複数が最も多い大/小文字を選択して重複を削除

重複行の大/小文字を区別せずに計算、重複数が最も多い大/小文字を選択して重複を削除

コピーは他の大文字と小文字のテキストの組み合わせです。

重複項目の数を計算し(大文字と小文字を区別しない)、重複項目が最も多いケースを選択して重複項目を削除する必要があります。

以下の例:

hot chocolate
hot chocolate
hot chocolate
Hot Chocolate
Hot Chocolate
Hot Chocolate
Hot Chocolate
Hot Chocolate
Xicolatada
Xicolatada
Xicolatada
Xicolatada
XICOLATADA
XICOLATADA

次のようにする必要があります。

Hot Chocolate, 8
Xicolatada, 6

この質問は次のようになります。これただし、最も頻繁に繰り返されるケースを選択し、大文字と小文字を区別して計算する必要があります。

ベストアンサー1

さらにuniq --ignore-case --count | sort --numeric --reverse:

sort | uniq -ic /tmp/foo.txt | sort -nr
      8 hot chocolate
      6 Xicolatada

順序を変更するには、そこにカンマを追加し、最後にこのパイプを追加します。

... | sed -e 's/^ *\([0-9]*\) \(.*\)/\2, \1/'

なぜ先行ソートがあるのか​​については、以下の最初の説明を参照してください。

おすすめ記事