awk:与えられた文字列でcharが発生した回数を見つけることができますか?

awk:与えられた文字列でcharが発生した回数を見つけることができますか?

次のような結果を得る方法はありますか?

a c a c a c a a a a a a a a c c c a c 0 0 a c 0 a

max a
2nd max c

ベストアンサー1

実行方法は次のとおりです。

echo "a c a c a c a a a a a a a a c c c a c 0 0 a c 0 a"|tr " " "\n"|sort|uniq -c|sort -rn
  1. trスペースを改行に変換するために使用します。
  2. sortデータ(今一連の行)をアルファベット順にソートしてから
  3. uniqそれぞれの数を計算するために使用され、最後に
  4. 再度使用して、sort発生順序を降順に変更します(ほとんどの発生が最初に発生します)。

各項目がスペースで区切られているとします(例でも同じです)。

おすすめ記事