查找所有文件并在 grep 搜索模式中使用结果

查找所有文件并在 grep 搜索模式中使用结果

我找到了一个示例,它使用 find 和 xarg 或 exec 的组合来从结果中搜索特定模式,请参阅链接这里
不过,我想使用 find 命令的结果并将其用作 grep 的搜索模式。类似下面的命令,但不知道如何构建它。

find . -name "*.cgi" -printf '%f\n' | cut -d. -f1 | xarg grep 'find_result' *.html

答案1

假设 GNU grep,并假设您的文件名没有嵌入换行符:

find . -name '*.cgi' -printf '%f\n' | cut -d. -f1 | sort -u | fgrep -f - *.html

答案2

你不需要xargs这里,你可以grep从标准输入读取模式列表:

使用 GNU 查找:

find . -name '*cgi' -printf '%f\n' | grep -f - *html

否则:

find . -name '*cgi' | cut -f2- -d/ | grep -f - *html

相关内容