Всегда удобно использовать программные средства для привычных
и обыденных задач — например поиск файлов или текста (содержимого) этих
файлов. Гораздо интереснее, когда подобная задача стоит, когда у Вас
под рукой только консоль. Но не беда — в этой статье я покажу, как
искать по содержимому, используя консоль Ubuntu.
Итак, все гениальное просто. Первый пример — поиск текста «foo» в директории /home/bar:
sudo grep -rl 'foo' /home/barsudo при поиске не обязателен, если Вы ищете только среди доступных текущему пользователю файлов. При необходимости поиска по всем файлам, без исключений — используйте sudo.
Чтобы вывести результат с подсветкой, которая существенно упростит его восприятие используйте следующий пример:
sudo grep -r 'foo' /home/bar/ --colorНо, при этом Вы получите все совпадения. Если же Вам нужно искать только совпадения в отдельном слове — примените директиву -w.
grep -w foo bar.phpПри поиске в больших файлах полезно знать строку, в которой найдено совпадение. Здесь поможет директива -n.
grep -rnw foo /home/barДля поиска только в конкретном файле укажите его имя вместо директории:
grep foo bar.php