Найти дубликаты строк

У меня есть файл, который содержит следующее содержание.

Hi
abcd
Hi
abc
hello
hello
xyz
hello

Я хочу найти повторяющиеся строки, а также сколько раз это повторяется. Мой ожидаемый результат, как показано ниже.

2 Hi
3 hello

Я использовал следующую команду alreay, которая дает мне повторяющиеся строки, идущие одна за другой (т.е. Hello Hello, это работает, но Hello hi Hello, это не сработало)

uniq -d filename

1 ответ

Вам нужно sort входной файл сначала перед передачей в uniq сделать одинаковые / последовательные строки одинаковыми:

sort file.txt | uniq -dc

-c будет подсчитывать количество появлений повторных строк.

Пример:

$ sort file.txt | uniq -dc
3 hello
2 Hi

$ sort file.txt | uniq -dc | sort -k1,1n  ## Your expected output
2 Hi
3 hello
Другие вопросы по тегам