среда, 20 марта 2013 г.

CheatSheet: примеры использования команды Grep

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

Синтаксис команды:
grep 'word' filename
grep 'string1 string2'  filename
cat otherfile | grep 'something'
command | grep 'something'
command option1 | grep 'data'
grep --color 'data' fileName

Поиск по файлу

Поиск по /etc/passwd, чтобы найти boo:
$ grep boo /etc/passwd
Чтобы заставить grep игнорировать регистр (искать не только boo, но и BOOBoo,bOo, и т.д.) используется -i опция:
$ grep -i "boo" /etc/passwd

Использовать grep рекурсивно

Чтобы просмотреть все файлы в директории и поддиректориях в поисках строки "192.168.1.5":
$ grep -r "192.168.1.5" /etc/

Использовать grep для поиска только слов целиком

Когда вы ищете слово boo, результатом поиска будут все строки, содержащие boo, к примеру foobooboo123, и т.д. Чтобы заставить grep искать только слова целиком:
$ grep -w "boo" /path/to/file

Использовать grep для поиска двух разных строк

используйте egrep:
$ egrep -w 'word1|word2' /path/to/file

Посчитать количество строк, где найдена искомая комбинация

$ grep -c 'word' /path/to/fileТакже можно использовать -n, чтобы отобразить номер строки:
$ grep -n 'word' /path/to/file

Отобразить строки, не содержащие искомую комбинацию

Чтобы отобразить только те строки, где не испольщуется искомая комбинация, используйте -v:
$ grep -v bar /path/to/file

UNIX / Linux pipes и grep

grep можно использовать на выводе другой команды. К примеру, чтобы отобразить имена жестких дисков:
# dmesg | egrep '(s|h)d[a-z]'Отобразить модель процессора:
# cat /proc/cpuinfo | grep -i 'Model'Или напрямую, не используя перенаправление вывода:
# grep -i 'Model' /proc/cpuinfo

Отобразить имена файлов, содержащих искомую строку

Для этого используйте опцию -l:
$ grep -l 'main' *.cИ, напоследок, чтобы заставить grep отображать цветной вывод:
$ grep --color boo /etc/passwd

Комментариев нет:

Отправить комментарий