Menu
Coddy logo textTech

Цепочка нескольких команд

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

Ты не ограничен подключением только двух команд. Каналы могут объединять столько команд, сколько тебе нужно, причём каждая из них обрабатывает вывод предыдущей команды.

Просто добавьте больше символов |, чтобы расширить конвейер:

cat data.txt | sort | head -5

Эта команда читает файл, сортирует все строки в алфавитном порядке, а затем показывает только первые 5 результатов. Данные проходят слева направо через каждую команду последовательно.

Вот практический пример, который находит уникальные отсортированные записи:

cat names.txt | sort | uniq

Сначала содержимое файла сортируется (что объединяет дубликаты), затем uniq удаляет последовательные дублирующиеся строки. Здесь важен порядок: uniq удаляет только соседние дубликаты, поэтому сортировка должна выполняться первой.

Можно добавить ещё больше этапов. Чтобы подсчитать количество уникальных имён:

cat names.txt | sort | uniq | wc -l

Каждый конвейер добавляет ещё один шаг преобразования. При построении более длинных конвейеров подумай, какие входные данные нужны каждой команде и что она выдаёт в качестве выходных данных. Формат вывода одной команды должен подходить в качестве входных данных для следующей.

challenge icon

Задание

Легко

Файл visitors.txt содержит список имён посетителей с дубликатами. Используй конвейер из четырёх команд, чтобы подсчитать количество уникальных посетителей.

Запусти одну команду, которая:

  • Использует cat для чтения visitors.txt
  • Передаёт данные в sort, чтобы расположить names в алфавитном порядке
  • Передаёт данные в uniq, чтобы удалить повторяющиеся записи
  • Передаёт данные в wc -l, чтобы подсчитать уникальные names

Подсказка: Объедини все четыре команды, используя несколько символов |. Помни, что uniq удаляет только соседние дубликаты, поэтому сортировка должна выполняться перед ней.

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

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

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

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

Потренируйтесь самостоятельно: Песочница Terminal