Представь список: имена в случайном порядке, да ещё и с повторами. Глазами разбирать неудобно. В терминале для этого есть две команды-напарника — sort и uniq.
sort — расставить по порядку
sort берёт строки и выстраивает их по алфавиту:
sort names.txt
Строки вернутся отсортированными — сверху вниз по алфавиту. Нужен обратный порядок? Добавь флаг -r:
sort -r names.txt
Сам файл при этом не меняется — sort только показывает отсортированную версию. Это важно: команда ничего не портит, ею можно пользоваться смело.
uniq — убрать повторы
uniq убирает соседние одинаковые строки, оставляя по одной:
uniq names.txt
Ключевое слово — «соседние». uniq смотрит только на строки, стоящие рядом. Если одинаковые имена разбросаны по файлу, он их не заметит.
Связка sort | uniq
Поэтому uniq почти всегда идёт после sort — через пайп. Сначала sort собирает одинаковые строки вместе, а потом uniq схлопывает их:
sort names.txt | uniq
Результат — отсортированный список без повторов. Это одна из самых частых связок в терминале: «наведи порядок и убери лишнее».
Хочешь узнать, сколько раз встречалась каждая строка? На настоящем компьютере есть uniq -c. В нашем тренажёре достаточно связки sort | uniq — именно её спрашивают в испытаниях.
Попробуй
В файле names.txt имена идут вперемешку и с повторами. Отсортируй список и убери дубликаты: sort names.txt | uniq. Когда в команде появятся и sort, и uniq, урок зачтётся.