Я нашел пример, который использует комбинацию 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