Канал с grep
Часть раздела Основы путешествия по Terminal на Coddy — урок 46 из 82.
Команда grep становится особенно мощной при комбинировании с пайпами. Вместо поиска внутри файла вы можете фильтровать вывод любой команды, чтобы найти именно то, что вам нужно.
Представьте, что вы хотите найти конкретный файл в списке директории:
ls -l | grep "report"Это выводит все файлы в подробном виде, затем фильтрует, чтобы показать только строки, содержащие "report". Вы получаете целевые результаты без необходимости вручную просматривать всё.
Передача вывода в grep работает с любой командой, которая производит текстовый вывод. Чтобы найти запущенные процессы, связанные с конкретной программой:
ps aux | grep "python"Вы также можете комбинировать grep с другими командами, которые вы изучили. Чтобы подсчитать, сколько строк содержат конкретное слово:
cat logfile.txt | grep "error" | wc -lЭто читает файл, фильтрует строки с «error», затем подсчитывает их. Флаги grep, которые вы узнали ранее, работают так же в пайпах — используйте -i для поиска без учета регистра или -v для исключения совпадений.
Задание
ЛегкоФайл access.log содержит записи доступа веб-сервера. Используйте конвейер для фильтрации и подсчёта количества запросов, которые привели к ошибке статуса 500.
Выполните одну команду, которая:
- Использует
catдля чтенияaccess.log - Передаёт через конвейер в
grepдля фильтрации строк, содержащих500 - Передаёт через конвейер в
wc -lдля подсчёта совпадающих строк
Подсказка: Соедините три команды вместе с помощью символа
|. Команда grep фильтрует вывод, аwc -lподсчитывает оставшиеся строки.
Шпаргалка
Команда grep может фильтровать вывод других команд с помощью конвейеров (|).
Фильтрация списков директорий:
ls -l | grep "report"Фильтрация запущенных процессов:
ps aux | grep "python"Цепочка нескольких команд для фильтрации и подсчета:
cat logfile.txt | grep "error" | wc -lВсе флаги grep работают в конвейерах, такие как -i для поиска без учета регистра и -v для исключения совпадений.
Попробуйте сами
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Каталоги
Создать каталогСкопировать каталогПереместить и переименовать каталогУдалить каталогИтог - Операции с каталогами7Содержимое файлов
Head и TailПодсчёт словКоманда sortКоманда uniqОсновы grepGrep с флагамиПовторение - Текстовый детектив10Проект анализатора логов
Обзор проектаПросмотр файла лога2Навигация
Вывод текущей рабочей директорииСписок файловСмена директорииАбсолютные и относительные путиДомашняя и корневая директорииИтог - Найди свой путь8Перенаправление
Стандартный выводПерезапись в файлДописывание в файлСтандартный вводСтандартная ошибкаПовторение - Сборщик логов11Права доступа
Понимание прав доступаЧтение прав доступаChmod с числамиChmod с символамиВладение файламиПовторение - Заблокируйте доступ14Проект скрипта резервного копирования
Обзор проектаПолучение пути к источнику3Файлы
Создать файлПрочитать файлСкопировать файлПереместить и переименовать файлУдалить файлПовторение - Операции с файлами6Символы подстановки и шаблоны
Звёздный символ подстановкиВопросительный символ подстановкиСкобочные символы подстановкиКомбинирование символов подстановкиПовторение - выборочные операции9Каналы
Что такое каналЦепочка двух командЦепочка нескольких командКанал с grepИтог - Конвейер данных