Как найти все подкаталоги, содержащие определенный файл, а затем найти другой файл в этих подкаталогах? - PullRequest
0 голосов
/ 27 апреля 2020

У меня есть папка, содержащая 100 подкаталогов.

dir1 dir2 dir3 dir4 ...

Каждый подкаталог содержит файл simv.log

Кроме того, каждый каталог содержит - FAILED.txt или PASSED.txt file.

Я хочу выполнить grep шаблон "ABCD" в файлах simv.log, где присутствует FAILED.txt.

Я могу найти все каталоги, содержащие FAILED.txt с помощью: find . -name "FAILED.txt" -print "%h\n"

Как я могу в дальнейшем использовать этот вывод для grep ABCD в simv.log файле этих каталогов?

Ответы [ 2 ]

2 голосов
/ 27 апреля 2020
find . -name "FAILED.txt" -printf "%h/simv.log\0" | xargs -0 grep -F ABCD

должен сделать трюк

0 голосов
/ 27 апреля 2020
find . -name "FAILED.txt"   -printf "%h/simv.log\n"  | while read line ; do  grep ABCD -nr $line ; done;
...