Jak uzyskać listę nazw plików w różnych wierszach


116

Chcę uzyskać listę wszystkich plików w katalogu, na przykład z ls, tak aby każda nazwa pliku znajdowała się w osobnym wierszu, bez dodatkowych szczegółów dostarczonych przez ls -l. Spojrzałem ls --helpi nie znalazłem rozwiązania. Próbowałem to zrobić

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

ale lsnie używa stałej liczby odstępów między kolumnami. Masz pomysł, jak to zrobić, najlepiej w jednej linii?

Odpowiedzi:


259

ls -1

To jest liczba, a nie mała L.


5
widzę to w dokumentacji: cross -x, przecinki -m, poziome -x, długie -l, jednokolumnowe -1, gadatliwe -l, pionowe -C Nie jestem pewien, jak wymyślili niektóre z nich.
Alexander Taylor

23

ls -1. Z pomocy:

-1 wyświetla jeden plik w każdym wierszu

Działa na cygwin i FreeBSD, więc prawdopodobnie nie jest zbyt specyficzne dla GNU.


Działa również na Ubuntu. Dzięki
Yonatan Simson

12

rozwiązanie bez orurowania :-)

 ls --format single-column

Zauważ, że długie opcje są obsługiwane tylko w coreutils GNU, gdzie BSD ls obsługuje tylko krótkie argumenty-1


6

Być może:

ls | awk '{print $NF}'

uwaga: nazwa pliku ze spacjami, np. „jabłka i gruszkis.jpg”, zamieni się w „gruszki.jpg”
oknate.

4

ls | cat ... lub ewentualnie ls -1


4
Prosimy o unikanie bezużytecznego używania kota :)
jhwist

3
catnie jest w tym przypadku bezużyteczna. Formatuje wynik lsw jednej kolumnie, o co prosi OP.
Felix Eve

3

Użyj polecenia sed, aby wyświetlić listę pojedynczych kolumn

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

ls -ldaje taki sam wynik, jak cała twoja odpowiedź. Nie jestem pewien, co sedtu dodaje ...
Felix Eve

3

Spróbuj tego:

$ ls | xargs -n num

Oto numliczba kolumn, w których chcesz wyświetlić listę.


1

najpierw możesz tego użyć. wyświetli jeden plik w każdym wierszu.

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

albo możesz w ten sposób użyć

odnaleźć . -maxdepth 1 | sed „s /.///”

obie rzeczy są takie same.


Otrzymuję błądsed: -e expression #1, char 16: invalid reference \2 on `s' command's RHS
Felix Eve


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.