Mientras xargs -0
está destinado a ser utilizado para la entrada delimitada por \0 (como find -print0
), ls
no tiene tal opción para delimitar su salida de esta manera.
Sin embargo,
ls -1 /path/glob | tr '\n' '\0' | xargs -0 -n 1 basename
haría el truco para convertir nuevas líneas en nulos en el camino. Esto permite que xargs funcione con nombres que tienen espacios.
EDITAR:añadido -n 1
a xargs
Yo uso esto:
ls | tr '\n' '\n'
Da una lista como:
file1.mp3
file2.mp3
file3.mp3
...
ls -1 <path> | sed 's#.*/##'