Menu
Coddy logo textTech

Команда uniq

Часть раздела Основы путешествия по Terminal на Coddy — урок 33 из 82.

Команда uniq удаляет последовательно повторяющиеся строки из файла, показывая только уникальные строки.

У нас есть duplicates.txt:

apple
banana
apple
cherry
banana
banana

Важно: uniq удаляет только дубликаты, которые находятся рядом друг с другом. Поэтому его почти всегда используют вместе с sort в первую очередь:

sort duplicates.txt | uniq

Символ | называется конвейером — он направляет вывод одной команды на вход другой. Это мощный шаблон, который вы будете часто использовать в терминале.

Полезные флаги:

-c — добавляет перед каждой строкой количество её повторений:

sort duplicates.txt | uniq -c
      2 apple
      3 banana
      1 cherry

-d — показывать только строки, которые дублированы:

sort duplicates.txt | uniq -d

-u — показывать только строки, которые встречаются ровно один раз:

sort duplicates.txt | uniq -u
challenge icon

Задание

Новичок

Используйте sort и uniq вместе, чтобы отобразить только уникальные строки из duplicates.txt без дубликатов.

Подсказка: Сначала нужно sort файл, чтобы дубликаты сгруппировались вместе, затем передать | результат в uniq, чтобы удалить их.

Шпаргалка

Команда uniq отфильтровывает последовательные дублирующиеся строки из файла. Она удаляет только дубликаты, которые находятся рядом друг с другом, поэтому обычно используется с sort перед ней:

sort duplicates.txt | uniq

Символ | — это конвейер — он передает вывод одной команды как ввод другой.

Полезные флаги:

-c — добавляет перед каждой строкой количество её вхождений:

sort duplicates.txt | uniq -c

-d — показывает только дублирующиеся строки:

sort duplicates.txt | uniq -d

-u — показывает только строки, которые встречаются ровно один раз:

sort duplicates.txt | uniq -u

Попробуйте сами

Терминал
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы