以树格式递归列出所有目录

Zen*_*cha 13 shell

我想tree使用Shell脚本模拟一个命令,以这种格式递归显示所有目录:

.
|-- Lorem
|-- Lorem
|-- Lorem
    |-- Lorem
    |-- Lorem
|-- Lorem
`-- Lorem
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

Gil*_*not 23

尝试这样做(不完全相同的输出,但非常接近):

find ./ -type d -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'
Run Code Online (Sandbox Code Playgroud)

来自http://mlsamuelson.com/content/tree-approximation-using-find-and-sed

find . -type d -print 2>/dev/null|awk '!/\.$/ {for (i=1;i<NF;i++){d=length($i);if ( d < 5  && i != 1 )d=5;printf("%"d"s","|")}print "---"$NF}'  FS='/'
Run Code Online (Sandbox Code Playgroud)

访问http://www.unix.com/shell-programming-scripting/50806-directory-tree.html


cra*_*ken 12

你可以启动:

tree .
Run Code Online (Sandbox Code Playgroud)

要么

tree $absolute/path/of/your/dir
Run Code Online (Sandbox Code Playgroud)

如果要显示隐藏文件.

默认情况下,树不会打印隐藏文件(以点'.'开头的文件),只需键入:

tree -a .
Run Code Online (Sandbox Code Playgroud)

这是树命令的作用.

  • 你读过这个问题吗?"我想使用......来模拟`tree`命令." (4认同)