Поиск информации в файлах в нескольких каталогах - PullRequest
2 голосов
/ 30 сентября 2011

Мне нужно проверить несколько файлов, которые находятся в разных местах для конкретной информации.

Итак, как сделать скрипт, который проверяет слово аргумента через несколько каталогов?

Каталогинаходятся в разных местах.Например,

/ home / check1 /

/ opt / log /

/ var / status /

Ответы [ 5 ]

1 голос
/ 30 сентября 2011

Вы также можете сделать (рядом с «поиск») сделать

for DIR in /home/check1 /opt/log /var/status ; do 
    grep -R searchword $DIR; 
    done
1 голос
/ 30 сентября 2011

На самом простом это сводится к

find . -name '*.c' | xargs grep word

чтобы найти данное слово во всех файлах .c в текущем каталоге и ниже.

grep -R также может работать для вас, но это может быть проблемой, если вы не хотите искать все файлы.

1 голос
/ 30 сентября 2011

Используйте параметр grep -R (рекурсивный) и задайте grep несколько аргументов каталога.

0 голосов
/ 30 сентября 2011

Справочная страница grep должна объяснить, что вам нужно.В любом случае, если вам нужен рекурсивный поиск, вы можете использовать:

grep -R --include=PATTERN "string_to_search" $directory

Вы также можете использовать:

--exclude=PATTERN to skip some file
--exclude-dir=PATTERN to skip some directories

Другой вариант - использовать find для получения файлов и передачи их в grepискать строки.

0 голосов
/ 30 сентября 2011

Попробуйте найти http://content.hccfl.edu/pollock/Unix/FindCmd.htm, используя ваши поисковые слова и каталоги.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...