Відповіді:
Я зрозумів це; Один з uniqваріантів s - це -c"префіксальні рядки за кількістю входів":
$ uniq -c
sort | uniq
A \ A \ A \ B \ A \ CC, результат просто uniq -cвідображатиметься A 3та пізніше відображатиметься A 1. Сортування по-перше, гарантує, що всі однакові лінії будуть згруповані разом
Я просто прийшов сюди з подібною проблемою. З цього мені вдалося скласти трохи більш вдосконалену команду, яка, сподіваюся, корисна для інших.
Як Стівен Д сказав у коментарях вище, uniqпідраховує лише суміжні повторювані рядки, тому спочатку потрібно сортувати рядки. Після цього ми знаходимо унікальні лінії, після чого знову сортуємо, щоб найчастіше зустрічалися рядки.
sort file.txt | uniq -c | sort -nr > output.txt
Вихідні дані переспрямовуються у файл output.txt. Якщо ви просто хочете переглянути результати в командному рядку, видаліть перенаправлення та змініть останню команду на sort -nтак, щоб найпоширеніший рядок знаходився внизу, тобто, безумовно, все ще знаходився на екрані.
cat file.txt | sortна просто sort file.txt. :)
catщось більш цікаве. Оскільки, знаєте, немає cat.
< file.txt sort | uniq -c. Це легко відредагувати і все-таки уникає зайвого cat.
uniq -c filename.txt | sed 's/[^0-9]*\\([0-9]\+\\) \\(.*\\)/\2 \1/'