Sha*_*off 19
find . \( -type d -printf "%p/\n" , ! -type d -print \)
Run Code Online (Sandbox Code Playgroud)
这使用该printf
命令来格式化目录名称和其余部分的标准打印。
Gil*_*il' 13
便携:
find . -type d -exec sh -c 'printf "%s/\n" "$0"' {} \; -or -print
Run Code Online (Sandbox Code Playgroud)
如果您愿意单独列出目录和文件(您可以通过排序合并输出):
{ find . -type d -print | sed 's!$!/!'; find . \! -type d; } | sort
Run Code Online (Sandbox Code Playgroud)
使用 GNU find,请参阅Shawn J. Goff 的回答。
如果即使不输出到终端,您也愿意冒不可打印的字符被损坏的风险,请参阅ddeimeke 的回答。
在zsh中:print -rl -- **/*(DM)
(D
包括点文件,M
添加一个/
目录后)
也许
find . -print0 | xargs -0 ls -Fd
Run Code Online (Sandbox Code Playgroud)
也是一种选择。
从 Solaris 手册页:
-F 用斜杠 (/) 标记目录,用大于号 (>) 标记门,用星号 (*) 标记可执行文件,用尾部竖线 (|) 标记 FIFO,用"结尾的符号链接at" 符号 (@) 和带有尾随等号 (=) 的 AF_UNIX 地址系列套接字。遵循命名为操作数的符号链接。