Для поиска текста используем следующую команду:
grep -rnw 'directory' -e "pattern"
Пример:
$ grep -rnw '/var/www/' -e "DOCTYPE html"
Если выводится слишко много информации то можно добавить команду “less”
$ grep -rnw '/var/www/' -e "DOCTYPE html" | less
Где:
-r - рекурсивно
-n - номер строки
-w - соответствует целому слову
Наряду с этим, --exclude или --include параметр может быть использован для эффективного поиска. Что-то вроде этого:
grep --include=\*.{c,h} -rnw 'directory' -e "pattern"
В этом случае, поиск будет только по файлам, которые имеют .c или .h расширения.
Другие примеры:
$ grep --include=\*.{php,html} -rnw '/var/www/' -e "DOCTYPE html"
искать в .php и .html
$ grep --include=\*.html -rnw '/var/www/' -e "DOCTYPE html"
искать в .html
Аналогично использование команды --exclude:
Образец:
grep --exclude=*.o -rnw 'directory' -e "pattern"
Исключает из поиска все файлы с расширением .o
Кроме этого мы можем работать и с директориями:
grep --exclude-dir={dir1,dir2} -rnw 'directory' -e "pattern"
--exclude-dir исключить каталог
$ grep --exclude-dir={html,html1} -rnw '/var/www/' -e "DOCTYPE html"
Исключаем каталоги html, html1 и все файлы с расширением .t
$ grep --exclude-dir={html,html1} --exclude=*.t -rnw '/var/www/' -e "DOCTYPE html"
Исключаем каталог html
$ grep --exclude-dir=html -rnw '/var/www/' -e "DOCTYPE html"
Следующая команда find для поиска файлов:
find [directory] -name "Имя файла"
Примеры:
$ find /var/www/html1 -name *.txt
Найти все файлы изображений:
$ find /home/vlad \( \( -name *.[Jj][Pp][Ee][Gg] \) -or \( -name *.[Pp][Nn][Gg] \) -or \( -name *.[Bb][Mm][Pp] \) \)
$ find /var/www/ -type f -name index.php // -type f - для файлов
$ find /var/www/ -type d -name css // -type d - для директорий
Комментариев нет :
Отправить комментарий
Оставить отзыв