GNU/Linux >> Linux Esercitazione >  >> Linux

Di' a `ls` di stampare solo il nome del file di base

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#.*/##'

Linux
  1. Stampa la riga di corrispondenza e l'ennesima riga dalla riga di corrispondenza?

  2. Impostare Xorg per utilizzare solo una parte dello schermo?

  3. Come ottenere solo il numero di righe di un file

  4. Modificare l'ordine delle righe in un file

  5. Nascondere l'output di un comando shell solo in caso di successo?

Come utilizzare il comando xargs di Linux

Sed:stampa solo la prima occorrenza di una corrispondenza di pattern?

Come dire a Xargs quale argomento scegliere ??

Come usare il comando xargs in Linux?

Come stampare solo i valori esadecimali da hexdump senza i numeri di riga o la tabella ASCII?

Grep in un file di registro enorme (> 14 GB) solo l'ultimo x GB?