viernes, 7 de marzo de 2014
Cómo pasar los nombres de archivos que contengan espacios a una tubería
Al utilizar el comando find de esta forma:
find . -iname "*.htm*" | xargs -n1 grep -H -i "palabra"
los nombres de archivos que contengan espacios se pasaran de forma fragmentada en la tubería, de forma tal que un nombre de archivo como "Fulano de tal.htm", pasado a grep con la tuberia (pipe en inglés: '|') lo vera como 3 archivos distintos: "Fulano", "de", "tal.hm", debido a que toma el carácter de espacio " ", como un delimitador. Para evitar dicho problema debe corregirse la instrucción anterior de esta forma:
find . -iname "*.htm" -print0 | xargs -0 -n1 grep -H -i "palabra"
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario