У меня есть дерево каталогов, состоящее из нескольких тысяч подкаталогов, но мне часто требуется grep только небольшого подмножества этих каталогов. Как я могу grep
только те подкаталоги, которые соответствуют шаблону?
Например, предположим, у меня есть эти подкаталоги, в которые я хочу добавить grep:
...
...
...
/foo
/fooLib
/fooHandler
/fooGizmo
...
...
...
Эти ...
данные выше , представляют тысячи других каталогов , я не хочу , чтобы Grep в.
Предположим, я ищу все случаи bar
, если я делаю это:
grep -n --recursive bar *
Я бы нашел то, что искал, но во всех каталогах. Как я могу искать только в тех подкаталогах, которые соответствуют шаблону foo*
?
/foo
друзьях? В/foo
и/foo/bar
и/foo/bar/qux
так и так, но нет/wibble/foo
? В/foo
и ,/wibble/foo
но не/foo/bar
? В/foo
и/foo/bar
а,/wibble/foo
а не/elsewhere
?Ответы:
Вы можете использовать grep и найти комбинацию, как показано ниже:
Или вы можете использовать
Или используя только grep
источник
foo*
?grep -R "test" /foo*
) - это именно то, что я сейчас делаю, поэтому я приму.{}
и обратный слеш?попробуйте,
grep foo* <other parts>
например:grep foo* -name "book*"
источник
bar
во всех файлов в подкаталогах с названиямиfoo*
, это должно быть так:grep --recursive bar ./foo*/*
?