Иллюстрированный самоучитель по RedHatLinux



         

Find, locate, whereis и grep - часть 4


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

$ grep radio *

ab.txt:This is a tes.t of searching for the word radio. pop.txt:

0n another radio station, he found that

Обратите внимание: команда grep выводит по одной строке на каждое найденное слово "radio". Справа от имени файла после двоеточия приведена строка, содержащая искомое слово. Общий формат команды grep следующий.

$ grep

text-pattern file-list

В качестве строки поиска text-pattern можно указать слово, фразу или более сложное регулярное выражение. Регулярные выражения - мощное средство поиска текста. Их описание можно найти на странице руководства команды grep. Список файлов file-list может быть любой формы, допускаемой оболочкой. Типы выражений, составляющие список файлов, рассмотрены в гл. 16.

Обычно проверка одного файла проводится командой:

$ grep text-pattern file-name

а проверка всех файлов некоторого каталога командой:

$ grep text-pattern *

В последней команде "*" - это выражение, означающее поиск во всех файлах текущего каталога. Строка поиска в простейшем варианте представляет собой слово или часть слова без пробелов. Если надо найти фразу, например "is a test", от ее указывают в двойных кавычках, как в следующем примере:

$ "grep "is a test"*

ab.txt:This is a test of searching for the word radio.

Подобно командам more и less, команду grep удобно конвейеризировать с другими командами. Предположим, что нам необходимо получить список всех файлов в текущем каталоге с датой модификации 12 мая. Для этого можно воспользоваться командой 1s -1 с присоединенной командой grep:

$ 1s -1 | grep "May 12"

-rw-r—r-- 1 root root 19197 May 12 21:17 rfbprotoheader.pdf

-rw-r—r- 1 root root 110778 May 12 21:20 rfprotoA.zip

-rw-r—r--- 1 root root 17692 May 12 23:03 svnc-0 .1. tar ,gz

-rw-r—r-- l root root 25222 May 12 19:58 vnc-3 . 3 . l_j-avasrc . tgz




Содержание  Назад  Вперед