Ich möchte eine Liste aller Dateien in einem Verzeichnis wie mit erhalten ls
, damit sich jeder Dateiname in einer separaten Zeile befindet, ohne die zusätzlichen Details von ls -l
. Ich schaute ls --help
und fand keine Lösung. Ich habe es versucht
ls -l | cut --fields=9 -d" "
Es wird jedoch ls
keine feste Anzahl von Leerzeichen zwischen den Spalten verwendet. Irgendeine Idee, wie das geht, vorzugsweise in einer Zeile?
ls -1
. Aus der Hilfe:Funktioniert mit Cygwin und FreeBSD, ist also wahrscheinlich nicht zu GNU-spezifisch.
quelle
Lösung ohne Rohrleitung :-)
Beachten Sie, dass die langen Optionen nur auf den GNU-Coreutils unterstützt werden, wobei BSD nur die kurzen Argumente unterstützt
-1
quelle
Vielleicht:
quelle
ls | cat
... oder möglicherweise,ls -1
quelle
cat
ist in diesem Fall nicht nutzlos. Es formatiert die Ausgabe vonls
in einer Spalte, wie OP es verlangt.Verwenden Sie den Befehl sed, um einzelne Spalten aufzulisten
quelle
ls -l
erzeugt die gleiche Ausgabe wie Ihre gesamte Antwort. Nicht sicher, wassed
hier hinzugefügt wird ...Versuche dies:
Hier
num
ist die Anzahl der Spalten, in denen Sie auflisten möchten.quelle
Zuerst können Sie dies verwenden. Es wird eine Datei pro Zeile angezeigt.
ls -l | sed 's /(.*) (. *) $ / \ 2 /'
oder Sie können so verwenden
finden . -maxdepth 1 | sed 's /.///'
beide Dinge sind gleich.
quelle
sed: -e expression #1, char 16: invalid reference \2 on `s' command's RHS
Dies wird auch reichen
quelle
Dies funktioniert auch: echo -e "\ n $ (ls)"
quelle