Antworten:
Tragbar:
find . -type d -exec sh -c 'printf "%s/\n" "$0"' {} \; -or -print
Wenn Sie Verzeichnisse und Dateien separat auflisten möchten (Sie können die Ausgabe durch Sortieren zusammenführen):
{ find . -type d -print | sed 's!$!/!'; find . \! -type d; } | sort
Siehe Shawn J. Goffs Antwort zu GNU find .
Wenn Sie das Risiko eingehen möchten, dass nicht druckbare Zeichen beschädigt werden, auch wenn sie nicht auf einem Terminal ausgegeben werden , lesen Sie die Antwort von ddeimeke .
In zsh: print -rl -- **/*(DM)
( D
um Punktdateien einzuschließen, M
um ein /
After-Verzeichnis hinzuzufügen )
find . \( -type d -printf "%p/\n" , -type f -print \)
Dies verwendet den Befehl printf, um Verzeichnisnamen und den Standarddruck für den Rest zu formatieren.
-printf
spezifisch für GNU find ist.
find
die Positionsargumente es ermöglichen, erweiterte Ausgaben wie diese zu erstellen. Beachten Sie jedoch, dass dies ohne die Leerzeichen um das Komma nicht funktioniert.
find . -type d -printf '%p/\n' -or -print
Vielleicht
find . -print0 | xargs -0 ls -Fd
ist auch eine Option.
Aus einer Solaris-Manpage:
-F Markiert Verzeichnisse mit einem abschließenden Schrägstrich (/), Türen mit einem abschließenden Größer-als-Zeichen (>), ausführbare Dateien mit einem abschließenden Stern (*), FIFOs mit einem abschließenden vertikalen Strich (|), symbolische Links mit einem abschließenden " at "sign (@) und Sockets der AF_UNIX-Adressfamilie mit einem trailingequals-Zeichen (=). Verfolgt als Operanden benannte Symlinks.