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