Mentre xargs -0
è pensato per essere utilizzato per input delimitato da \0 (come find -print0
), ls
non ha tale opzione per delimitare il suo output in questo modo.
Tuttavia,
ls -1 /path/glob | tr '\n' '\0' | xargs -0 -n 1 basename
farebbe il trucco per convertire le nuove righe in null lungo la strada. Ciò consente quindi a xargs di lavorare con nomi che hanno spazi.
EDIT:aggiunto -n 1
a xargs
Io uso questo:
ls | tr '\n' '\n'
Fornisce un elenco come:
file1.mp3
file2.mp3
file3.mp3
...
ls -1 <path> | sed 's#.*/##'