Problema:

Cuando usamos

find <argumentos> | xargs <comando>

y lo que encuentra el find tiene espacios en blanco, el comando ejecutado por el xargs toma los espacios como delimitadores de argumentos, con lo cual no hace lo que queremos.

Solución:

Ambos comandos (find y xargs) en su versión GNU (la que viene en todos los GNU/Linux), tienen opciones para separar argumentos con NULL (0 ASCII) en lugar de espacios.

La forma de utilizarlo es:

find <argumentos> -print0 | xargs -0 <comando>

La opción -print0 de find reemplaza a la opción -print que, en algunos casos es implícita al final de la línea. -print0 hay que usarlo en forma explícita.


Fuente: Mensaje de Martín Ferrari en la lista del GLUGCEN

FindPipeXargsConEspacios (última edición 2008-01-29 14:14:43 efectuada por localhost)

Edit and actions menu

  • Página inmutable
  • Información
  • Adjuntos