Отправляет email-рассылки с помощью сервиса Sendsay

grep -- как заставить его нырять в подкаталоги

Мне надо найти строку "Ввод в действие" в теховском файле где-то на
диске. Я тупо набираю
$ grep -i -r 'Ввод в действие' *.tex
и получаю пустой выход, если в локальном каталоге нет такого файла. Как
заставить grep просмотреть все дерево и просканировать все теховские
файлы? Что означает опция -r в случае грепа?

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 34933; Возраст листа: 1881; Участников: 1504
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/775913

Ответить   Wed, 17 Sep 2008 11:24:55 +0300 (#775913)

 

Ответы:

spider:

$ find . -name "*.tex" -exec grep -i 'Ввод в действие' {} \;

?
[не проверял, но как-то так]

Ответить   Roman I Khimov Wed, 17 Sep 2008 12:45:47 +0400 (#775918)

 

В сообщении от 17 сентября 2008 spider написал(a):

find /path -type d -exec grep -i -s "Ввод в действие" '{}'/*.tex \;
Может так.

Ответить   Wed, 17 Sep 2008 13:55:32 +0500 (#775920)

 

или так:
find /path/to/dir -name "*.tex" -exec grep -i "шаблон" {} \;

2008/9/17 Alexey <Sleeping.Daem***@m*****.ru>

Ответить   Wed, 17 Sep 2008 16:06:25 +0700 (#775973)

 

Alexey Kalinin пишет:

Суммируя все выводим рабочий вариант:
find /path/to/dir -name "*.tex" -exec grep -i -Н "шаблон" {} \;

P.S. С ужасом подумал, если бы я использовал писать бумаги какой-нибудь
вордпрпоцессор, то через пару-тройку лет хрен чего нашел бы.

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 34966; Возраст листа: 1887; Участников: 1501
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/777161

Ответить   Tue, 23 Sep 2008 13:37:17 +0300 (#777161)

 

17 сентября 2008 г. 12:55 пользователь Alexey <Sleeping.Daem***@m*****.ru>написал:

grep -i -r -H 'Ввод в действие' *.tex вроде так

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 34940; Возраст листа: 1881; Участников: 1504
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/776030

Ответить   "Serg Serg" Wed, 17 Sep 2008 13:05:12 +0400 (#776030)

 

spider wrote:

-r заставляет grep делать рекурсивный обход директорий, но только тех,
чье имя совпадает с паттерном.

Чтобы все-таки прогрепать все директории, можно воспользоваться find'ом:

find . -name "*.tex" -exec grep -H 'Ввод в действие' {} \;

Или тупо прошерстить все подряд, профильтровав уже результаты,
что-нибудь в этом духе:

grep -i -r 'Ввод в действие' . | grep '.tex:'

Но find, по-моему, красивее:)

Ответить   Wed, 17 Sep 2008 12:48:33 +0400 (#775939)

 

Посмотрите на rgrep. Может это то что Вам нужно.

spider пише:

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 34941; Возраст листа: 1881; Участников: 1504
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/776031

Ответить   Wed, 17 Sep 2008 11:43:17 +0300 (#776031)

 

On Wed, 17 Sep 2008 11:24:55 +0300
spider <spid***@l*****.by> wrote:

Просто не надо говорить *.tex. Скажите ему
$ grep -Ri "Ввод в действие" *
Тогда он и во все каталоги заглянет.

Ответить   Thu, 18 Sep 2008 10:50:59 +0400 (#776097)

 

Goh'Dan пишет:

Ну, это и я так могу. На диске около 120 гиг файлов, среди них тысяч
пять латеховских объемом мегабайт 20.

-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 34965; Возраст листа: 1887; Участников: 1501
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/777159

Ответить   Tue, 23 Sep 2008 13:32:05 +0300 (#777159)