Основы командной строки
Теория: Grep
Слово «грепать» входит в топ самых популярных терминов, используемых разработчиками. Оно происходит от одноименной консольной утилиты grep (сокращение от global regular expression print). Эта утилита выполняет поиск определенного текста по файлу или файлам.
В этом уроке мы научимся грепать и разберемся в особенностях этого процесса.
Для разработчиков «грепать» — то же самое, что гуглить для активных пользователей интернета. Как правило, грепают файлы с исходным кодом или логи во время отладки:
Рассмотрим этот пример подробнее:
PATTERN— это то, что мы хотим найти. Это может быть конкретная строчка или определенный шаблон с регулярными выражениямиFILE— путь до файла, в котором нужно искать
Посмотрите на еще один пример:
В примере выше утилита grep нашла четыре строки. Найденные строчки выводятся на экран в том же порядке, в котором они встречаются в исходном файле.
В некоторых ситуациях нам нужно увидеть не только саму строку, но и текст вокруг нее. Количество выводимых соседних строк регулируется тремя опциями:
- Количество отображаемых строк до искомой строки —
-Bили--before-context - Количество отображаемых строк после искомой —
-Aили--after-context - Количество отображаемых строк до и после искомой строки —
-Cили--context
Изучим пример использования -C со значением 1. Это значит, что для каждой найденной строки будет выведена одна строка выше и одна строка ниже:
Иногда мы не знаем, в каком файле находится то, что мы ищем. При этом мы можем знать директорию, в которой лежит этот файл.
В такой ситуации нужно сделать два изменения:
- Добавить опцию
-r— она указывает, что надо искать внутри директории. Обратите внимание, что поиск идет рекурсивно, то есть с включением всех поддиректорий - Указать путь до директории, а не файла
Попробуем применить утилиту grep с опцией -r:
При таком поиске в выводе указывается файл, в котором была найдена строка. Если добавить опцию n, то дополнительно отобразится номер строки:
.png)

















