Encontré un ejemplo que usa una combinación de find y xarg o exec para buscar un patrón específico a partir del resultado, ver enlaceaquí.
Sin embargo, me gustaría utilizar el resultado del comando buscar y usarlo como patrón de búsqueda para grep. Algo parecido al comando siguiente, pero no estoy seguro de cómo construirlo.
find . -name "*.cgi" -printf '%f\n' | cut -d. -f1 | xarg grep 'find_result' *.html
Respuesta1
Suponiendo GNU grep
y suponiendo que sus nombres de archivos no tengan nuevas líneas incrustadas:
find . -name '*.cgi' -printf '%f\n' | cut -d. -f1 | sort -u | fgrep -f - *.html
Respuesta2
No es necesario xargs
aquí, simplemente puede grep
leer la lista de patrones desde la entrada estándar:
con GNU encontrar:
find . -name '*cgi' -printf '%f\n' | grep -f - *html
de lo contrario:
find . -name '*cgi' | cut -f2- -d/ | grep -f - *html