0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>Слово "грепать" входит в топ самых популярных терминов, используемых разработчиками. Оно происходит от одноименной консольной утилиты grep (сокращение от<em>global regular expression print</em>). Эта утилита выполняет поиск определенного текста по файлу или файлам.</p>
1
<p>Слово "грепать" входит в топ самых популярных терминов, используемых разработчиками. Оно происходит от одноименной консольной утилиты grep (сокращение от<em>global regular expression print</em>). Эта утилита выполняет поиск определенного текста по файлу или файлам.</p>
2
<p>В этом уроке мы научимся грепать и разберемся в особенностях этого процесса.</p>
2
<p>В этом уроке мы научимся грепать и разберемся в особенностях этого процесса.</p>
3
<p>Для разработчиков "грепать" - то же самое, что гуглить для активных пользователей интернета. Как правило, грепают файлы с исходным кодом или логи во время отладки:</p>
3
<p>Для разработчиков "грепать" - то же самое, что гуглить для активных пользователей интернета. Как правило, грепают файлы с исходным кодом или логи во время отладки:</p>
4
<p>Рассмотрим этот пример подробнее:</p>
4
<p>Рассмотрим этот пример подробнее:</p>
5
<ul><li>PATTERN - это то, что мы хотим найти. Это может быть конкретная строчка или определенный<a>шаблон с регулярными выражениями</a></li>
5
<ul><li>PATTERN - это то, что мы хотим найти. Это может быть конкретная строчка или определенный<a>шаблон с регулярными выражениями</a></li>
6
<li>FILE - путь до файла, в котором нужно искать</li>
6
<li>FILE - путь до файла, в котором нужно искать</li>
7
</ul><p>Посмотрите на еще один пример:</p>
7
</ul><p>Посмотрите на еще один пример:</p>
8
<p>В примере выше утилита grep нашла четыре строки. Найденные строчки выводятся на экран в том же порядке, в котором они встречаются в исходном файле.</p>
8
<p>В примере выше утилита grep нашла четыре строки. Найденные строчки выводятся на экран в том же порядке, в котором они встречаются в исходном файле.</p>
9
<p>В некоторых ситуациях нам нужно увидеть не только саму строку, но и текст вокруг нее. Количество выводимых соседних строк регулируется тремя опциями:</p>
9
<p>В некоторых ситуациях нам нужно увидеть не только саму строку, но и текст вокруг нее. Количество выводимых соседних строк регулируется тремя опциями:</p>
10
<ul><li>Количество отображаемых строк до искомой строки - -B или --before-context</li>
10
<ul><li>Количество отображаемых строк до искомой строки - -B или --before-context</li>
11
<li>Количество отображаемых строк после искомой - -A или --after-context</li>
11
<li>Количество отображаемых строк после искомой - -A или --after-context</li>
12
<li>Количество отображаемых строк до и после искомой строки - -C или --context</li>
12
<li>Количество отображаемых строк до и после искомой строки - -C или --context</li>
13
</ul><p>Изучим пример использования -C со значением 1. Это значит, что для каждой найденной строки будет выведена одна строка выше и одна строка ниже:</p>
13
</ul><p>Изучим пример использования -C со значением 1. Это значит, что для каждой найденной строки будет выведена одна строка выше и одна строка ниже:</p>
14
<p>Иногда мы не знаем, в каком файле находится то, что мы ищем. При этом мы можем знать директорию, в которой лежит этот файл.</p>
14
<p>Иногда мы не знаем, в каком файле находится то, что мы ищем. При этом мы можем знать директорию, в которой лежит этот файл.</p>
15
<p>В такой ситуации нужно сделать два изменения:</p>
15
<p>В такой ситуации нужно сделать два изменения:</p>
16
<ol><li>Добавить опцию -r - она указывает, что надо искать внутри директории. Обратите внимание, что поиск идет рекурсивно, то есть с включением всех поддиректорий</li>
16
<ol><li>Добавить опцию -r - она указывает, что надо искать внутри директории. Обратите внимание, что поиск идет рекурсивно, то есть с включением всех поддиректорий</li>
17
<li>Указать путь до директории, а не файла</li>
17
<li>Указать путь до директории, а не файла</li>
18
</ol><p>Попробуем применить утилиту grep с опцией -r:</p>
18
</ol><p>Попробуем применить утилиту grep с опцией -r:</p>
19
<p>При таком поиске в выводе указывается файл, в котором была найдена строка. Если добавить опцию n, то дополнительно отобразится номер строки:</p>
19
<p>При таком поиске в выводе указывается файл, в котором была найдена строка. Если добавить опцию n, то дополнительно отобразится номер строки:</p>
20
20