Estoy tratando de producir este comportamiento:
grep 192.168.1 *.txt
Al pasar una cadena a grep a través de Xargs pero va al final en lugar de como el primer parámetro.
echo 192.168.1 | xargs grep *.txt
Necesito decirle a xargs (o algo similar) que coloque la cadena entrante entre 'grep' y '*' en lugar de al final.
¿Cómo hago esto?
Respuestas:
Ejemplo
Archivos de muestra:
Ejemplo de ejecución:
fuente
Otro enfoque:
Esto no desbordará la longitud de la línea de comando del shell con demasiados nombres de archivo. Para evitar confundir
xargs
/grep
con nombres de archivos que tienen espacios,-print0
y las-0
opciones delinearán cada nombre encontrado con un valor nulo en lugar de un LF.fuente