>_ linux/практикумНачать ↗
УРОК 05 / 10 МИНУТ

Поиск и обработка текста

grep, конвейеры и фильтры: превращаем текстовый вывод в полезный результат.

После урока: вы сможете отбирать строки и соединять команды конвейером.

Поиск строк

grep отбирает строки по шаблону. С ключом -n он показывает номера строк. Ключ -F воспринимает шаблон как обычный текст, а не регулярное выражение. Регистр учитывается, если не добавить -i.

printf "linux\nnetwork\nlinux tools\n" | grep -nF linux

Конвейер

Символ | передаёт стандартный вывод левой программы на стандартный ввод правой. Ошибки по умолчанию идут отдельным потоком и не попадают в обычный конвейер.

sort сортирует строки, uniq объединяет соседние одинаковые строки, а -c считает повторы. Поэтому перед uniq часто ставят sort.

printf "bash\nlinux\nbash\n" | sort | uniq -c

Подсчёт и проверка

wc -l считает символы перевода строки, а не всегда количество видимых записей: последняя строка без перевода влияет на результат. Разбирайте сложный конвейер по одному шагу, проверяя промежуточный вывод.

printf "one\ntwo\n" | wc -l
ПОПРОБУЙТЕ САМИ

Закрепляем на практике

Выведите три строки: cat, dog, cat. Получите количество повторов каждого слова.

Подсказка и проверка

printf "cat\ndog\ncat\n" | sort | uniq -c должен показать 2 для cat и 1 для dog.

Далее: Пользователи и права →