Следующее сделает то, что вам нужно ... хотя есть много других способов добиться этого ... например, с gawk
помощью ответа Камиля.
- Первый
sort
упорядочит данные по строковым данным uniq -c
будет подсчитывать количество совпадений (они должны быть соседями)sort -nr
отсортировать по количеству вхождений в обратном порядке- В
while
итерации цикла по каждой строкеread n l
будет принимать в счетчикn
, а данные строки вl
for
Цикл будет повторятьn
разecho "$"
выводит данные строки
( sort \ | uniq -c \ | sort -nr \ | while read n l; do \ for i in $(seq $); do \ echo "$"; \ done; \ done ) <<"EOF" a b b b b c c d d d EOF