Я работаю с определенной структурой, которая имеет модули с согласованными соглашениями об именах папок. Я хотел бы получить все файлы, содержащие частичную строку foo
из каталога высокого уровня, но мне нужны результаты только из файлов с путем, содержащим каталог с именем Bar
. Для уточнения: из корневого каталога проекта, как правило, есть четыре уровня подпапок, содержащих произвольное количество подпапок и текстовых файлов (все .php). Подкаталоги, в которых я хотел бы искать / из которых я хотел бы получить результаты, все содержат родительскую папку с именем Bar
.
Заявлено относительно моего ограниченного опыта: я хотел бы команду, такую как grep -isrl 'foo' ./
и получать только результаты, такие как
./A/B/C/Bar/D/F/Some.php
./G/H/I/Bar/Some.php
и исключая
./A/B/C/Baz/D/F/Some.php
./G/H/I/Baz/Some.php
По сути, я предполагаю, что есть что-то вроде grep -isrl 'foo' ./*/Bar/*.php
где *
будет соответствовать нулю-многим подкаталогам.