如何找到包含特定文件的所有子目录,然后在这些子目录中grep另一个文件?

问题描述 投票:0回答:2

我有一个包含100个子目录的文件夹。

dir1 dir2 dir3 dir4 ...

每个子目录包含一个文件simv.log

此外,每个目录都包含-FAILED.txtPASSED.txt文件。

我想在存在simv.logFAILED.txt文件中grep一个模式“ ABCD”。

我可以使用以下命令找到所有包含FAILED.txt的目录:find . -name "FAILED.txt" -print "%h\n"

如何进一步使用此输出在那些目录的simv.log文件中grep ABCD?

linux shell awk grep xargs
2个回答
0
投票
find . -name "FAILED.txt" -printf "%h/simv.log\0" | xargs -0 grep -F ABCD

应该做的把戏


0
投票

使用-execdir primary。

find . -execdir test -f FAILED.txt \; \
       -execdir grep ABCD simv.log \;
© www.soinside.com 2019 - 2024. All rights reserved.