Scripting : xargs – paths con espacios – wildcard
Cuando queremos ejecutar comandos shell – sobretodo ‘find’ – enlazados via pipe que incluyen paths, directorios o carpetas con espacios nos encontramos con problemas cuando recogemos una salida y queremos aplicarle un comando xargs.
La solución es decirle a find que acabe sus resultados con el caracter null y avisar a xargs que le van a llegar entradas con el caracter null :
find /path/con espacios/ -type f -print0 | xargs -0 -I % ls %Si el comando que alimenta xargs no puede añadir el carater null podemos ‘encapsular’ el resultado entre comillas con un sed :
ls /path/con espacios/ | sed 's/.*/"&"/' | xargs -I % echo %Finalmente, si queremos usar una wildcard en un comando ejecutado por xargs tenemos que ‘encapsularlo’ en un nuevo shell :
find /path/con espacios/ -type f -print0 | xargs -0 -I % sh -c 'ls "%"*sufijoespecialqueestamosbuscando'
RT @okITupSL: Scripting : xargs – paths con espacios – wildcard: Cuando queremos ejecutar comandos shell – sobretodo ‘f… https://t.co/mad…