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 --help
i nie znalazłem rozwiązania. Próbowałem to zrobić
ls -l | cut --fields=9 -d" "
ale ls
nie używa stałej liczby odstępów między kolumnami. Masz pomysł, jak to zrobić, najlepiej w jednej linii?
ls -1
. Z pomocy:Działa na cygwin i FreeBSD, więc prawdopodobnie nie jest zbyt specyficzne dla GNU.
źródło
rozwiązanie bez orurowania :-)
Zauważ, że długie opcje są obsługiwane tylko w coreutils GNU, gdzie BSD ls obsługuje tylko krótkie argumenty
-1
źródło
Być może:
źródło
ls | cat
... lub ewentualniels -1
źródło
cat
nie jest w tym przypadku bezużyteczna. Formatuje wynikls
w jednej kolumnie, o co prosi OP.Użyj polecenia sed, aby wyświetlić listę pojedynczych kolumn
źródło
ls -l
daje taki sam wynik, jak cała twoja odpowiedź. Nie jestem pewien, cosed
tu dodaje ...Spróbuj tego:
Oto
num
liczba kolumn, w których chcesz wyświetlić listę.źródło
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.
źródło
sed: -e expression #1, char 16: invalid reference \2 on `s' command's RHS
To też wystarczy
źródło
To też działa: echo -e "\ n $ (ls)"
źródło