Come ottenere un elenco di nomi di file in righe diverse


116

Voglio ottenere un elenco di tutti i file in una directory, come con ls, in modo che ogni nome di file sia su una riga separata, senza i dettagli aggiuntivi forniti da ls -l. Ho guardato ls --helpe non ho trovato una soluzione. Ho provato a farlo

ls -l | cut --fields=9 -d" "

ma lsnon utilizza un numero fisso di spazi tra le colonne. Qualche idea su come farlo, preferibilmente in una riga?

Risposte:


259

ls -1

Questo è un numero, non piccolo L.


5
lo vedo nella documentazione: croce -x, virgole -m, orizzontale -x, lunga -l, singola colonna -1, verboso -l, verticale -C Non sono sicuro di come siano venuti fuori alcuni di questi.
Alexander Taylor

23

ls -1. Dall'aiuto:

-1 elenca un file per riga

Funziona su cygwin e FreeBSD, quindi probabilmente non è troppo specifico per GNU.


Funziona anche su Ubuntu. Grazie
Yonatan Simson

12

soluzione senza tubazioni :-)

 ls --format single-column

Notare che le opzioni lunghe sono supportate solo sui coreutils GNU dove BSD ls supporta solo gli argomenti brevi-1


6

Forse:

ls | awk '{print $NF}'

nota: un nome di file con spazi come "mele e pere.jpg" si trasformerà in "pere.jpg"
oknate

4

ls | cat ... o forse, ls -1


4
Si prega di evitare l'uso inutile del gatto :)
jhwist

3
catnon è inutile in questo caso. Formatta l'output di lsin una colonna come richiesto da OP.
Felix Eve

3

Usa il comando sed per elencare le singole colonne

ls -l | sed 's/\(^[^0-9].\*[0-9]\*:[0-9]\*\) \(.*\)/\2/'

ls -lproduce lo stesso output dell'intera risposta. Non sono sicuro di cosa si sedsta aggiungendo qui ...
Felix Eve

3

Prova questo:

$ ls | xargs -n num

Ecco il numnumero di colonne in cui vuoi elencare.


1

per prima cosa puoi usare questo. mostrerà un file per riga.

ls -l | sed 's /(.*) (. *) $ / \ 2 /'

oppure puoi usare così

trova . -maxprofondità 1 | sed 's /.///'

entrambe le cose sono le stesse.


Ottengo l'erroresed: -e expression #1, char 16: invalid reference \2 on `s' command's RHS
Felix Eve


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.