1. ホーム
  2. bash

[解決済み] コマンドラインツールを用いてソート済み配列の重複を数える

2023-04-05 19:31:19

質問

ログファイルを grep して、一連の数字をフィルタリングするコマンド (cmd1) があります。数値は であり、私は数字の逆ソートされたリストを得るためにsort -grを使用します。このソートされたリストの中に重複がある可能性があります。 このソートされたリストには重複があるかもしれません。私はそのリスト内の各ユニークな番号のカウントを見つける必要があります。

例えば、cmd1の出力が以下のような場合。

100 
100 
100 
99 
99 
26 
25 
24 
24

私は上記の出力をパイプすることができる別のコマンドが必要です。

100     3
99      2
26      1
25      1
24      2

どのように解決するのですか?

どうでしょう。

$ echo "100 100 100 99 99 26 25 24 24" \
    | tr " " "\n" \
    | sort \
    | uniq -c \
    | sort -k2nr \
    | awk '{printf("%s\t%s\n",$2,$1)}END{print}'

結果は.

100 3
99  2
26  1
25  1
24  2