Всегда удобно использовать программные средства для привычных и обыденных задач — например поиск файлов или текста (содержимого) этих файлов. Гораздо интереснее, когда подобная задача стоит, когда у Вас под рукой только консоль. Но не беда — в этой статье я покажу, как искать по содержимому, используя консоль Ubuntu.

Итак, все гениальное просто. Первый пример — поиск текста «foo» в директории /home/bar:

sudo grep -rl 'foo' /home/bar

sudo при поиске не обязателен, если Вы ищете только среди доступных текущему пользователю файлов. При необходимости поиска по всем файлам, без исключений — используйте sudo.

Чтобы вывести результат с подсветкой, которая существенно упростит его восприятие используйте следующий пример:

sudo grep -r 'foo' /home/bar/ --color

Но, при этом Вы получите все совпадения. Если же Вам нужно искать только совпадения в отдельном слове — примените директиву -w.

grep -w foo bar.php

При поиске в больших файлах полезно знать строку, в которой найдено совпадение. Здесь поможет директива -n.

grep -rnw foo /home/bar

Для поиска только в конкретном файле укажите его имя вместо директории:

grep foo bar.php

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

5 1 голос
Рейтинг статьи

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов cookie) с использованием трекеров "Google Analytics" и "Yandex.Metrics". Порядок обработки Ваших персональных данных, а также реализуемые требования к их защите, содержатся в Политике конфиденциальности.
Принять