Если под аналогичной строкой вы подразумеваете строку с одинаковым содержанием.
Из man-страницы uniq команда uniq будет фильтровать только соседние совпадающие строки из повторяющихся строк.Поэтому вам нужно сначала отсортировать ввод и использовать опцию -D, чтобы напечатать все дублированные строки, как показано ниже.Однако параметры -D ограничены реализацией GNU, и при этом вывод результатов будет отличаться от ввода.
sort tt.txt |uniq -D
Если вы хотите, чтобы вывод был в том же порядке, вам нужно запомнить номер строки ввода и снова отсортировать номер строки следующим образом
cat -n tt.txt |сортировка -k 2 |uniq -f 1 -D |сортировать -k 1,1 |sed 's / \ s + [0-9] + \ s + //'
- cat -n напечатает содержимое с номером строки
- sort -k 2будет сортировать ввод, начиная со 2-го столбца
- uniq -f 1 проигнорирует первый столбец
- sort -k1,1 отсортирует вывод обратно по исходному номеру строки
- sed 's / \ s + [0-9] + \ s + //' удалит первый столбец с номером строки
Команда uniq -u выведет только уникальную строку ввода, которая полностьюнапротив того, что вы хотите.