Encontrei um exemplo que usa uma combinação de find e xarg ou exec para pesquisar um padrão específico no resultado, veja o linkaqui.
No entanto, gostaria de usar o resultado do comando find e usá-lo como padrão de pesquisa para grep. Algo como o comando abaixo, mas não tenho certeza de como construí-lo.
find . -name "*.cgi" -printf '%f\n' | cut -d. -f1 | xarg grep 'find_result' *.html
Responder1
Assumindo GNU grep
e assumindo que seus nomes de arquivos não possuem novas linhas incorporadas:
find . -name '*.cgi' -printf '%f\n' | cut -d. -f1 | sort -u | fgrep -f - *.html
Responder2
Você não precisa xargs
aqui, basta grep
ler a lista de padrões do stdin:
com GNU encontre:
find . -name '*cgi' -printf '%f\n' | grep -f - *html
de outra forma:
find . -name '*cgi' | cut -f2- -d/ | grep -f - *html