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)( Dum Punktdateien einzuschließen, Mum 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.
-printfspezifisch für GNU find ist.
finddie 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.