Linux Labs

Первые шаги / Ступень 12 из 15

Конвейер: ответ из нескольких команд

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 3 из 7 · на машине · 6 мин

Столбец, сортировка, подсчёт

Команда коллеги собрана из трёх приёмов: вырезать столбец, отсортировать строки и сосчитать одинаковые.

cut вырезает столбец из каждой строки: -d' ' задаёт разделитель — пробел, -f1 — номер столбца. cut -d' ' -f1 access.log печатает адреса. Страница в строке журнала — седьмое слово (-f7), код ответа — девятое (-f9).

sort расставляет строки по алфавиту. uniq -c склеивает повторы одной строки и ставит перед ней их число. Проверь, как uniq справится без sort.

Упражнение · посмотреть

Сосчитай адреса без sort и с ним

В ~/pipe-lab выполни две команды: подсчёт адресов через uniq -c без sort и тот же подсчёт с sort.

Сначала предположи

Что напечатает первая команда, где перед uniq нет sort?

Теперь начни упражнение, выполни команду и сверь прогноз с выводом.

Войти и начать Машина доступна после входа

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

Ubuntu 24.04
Загрузка…