将 find 与 sh 一起使用 - 命令不起作用

exp*_*ost 2 scripting find shell-script

我正在尝试搜索具有 pattern 的文件FW。从这些过滤后的文件中,我试图搜索 pattern chmod.*archive|archive.*chmod,然后列出它们。

我尝试使用以下命令,但它没有给我所需的输出。需要帮助来解决这个问题。

find . -name '*FW*' -exec sh -c "cat {}|grep -iEq 'chmod.*archive|archive.*chmod'|ls" \;|more
Run Code Online (Sandbox Code Playgroud)

ter*_*don 5

如果我理解正确,您只需要:

find . -type f -name '*FW*' -exec grep -iEq 'chmod.*archive|archive.*chmod' {} \; -ls
Run Code Online (Sandbox Code Playgroud)

这将grep用于您在 找到的每个文件中的模式find,如果grep成功,将以类似于ls -l.