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

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

Hi
abcd
Hi
abc
hello
hello
xyz
hello

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

2 Hi
3 hello

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

uniq -d filename
0
задан 10 May 2016 в 08:45

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
0
ответ дан 10 May 2016 в 18:45
  • 1
    Спасибо @WinEunuuchs2Unix. Если Вы, оказывается, затронуты им, когда-нибудь сообщите о нем в отчете об ошибках I' ve связан здесь. – andrebrait 17 January 2018 в 00:04

Другие вопросы по тегам:

Похожие вопросы: