我找到了一个示例,它使用 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