Найти все файлы и использовать результат в шаблоне поиска 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прочитать список шаблонов из stdin:

с помощью GNU найти:

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

в противном случае:

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

Связанный контент