尋找所有檔案並在 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

相關內容