跟随Linux command to print directory structure in the form of a tree的回答
我有:
ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/'
列出树目录。
而不是仅创建别名,我希望它的行为像普通命令一样并接受参数。
我有此目录结构:
|-myhome
|---top
|-----test
|-------folder1
|-------folder2
|-------folder3
如果我想要这个(从“顶部”开始:):
|-test
|---folder1
|---folder2
|---folder3
我必须先cd top
然后是ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/'
或者,来自“ myhome”:ls -R top | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/'
我想要一些类似的东西:
lstree <dir>
在这种情况下(从“顶部”开始::
lstree test
我不是从别名]中获得的
我正在研究bash函数:
function ls4less(){ ls -R $1 | less}
然后我可以从“顶部”调用它
ls4less
屈服
test ./test: folder1 folder2 folder3 ./test/folder1: file11.txt file12.txt ./test/folder2: file21.txt file22.txt ./test/folder3: file31.txt file32.txt file33.txt (END)
或
ls4less test
屈服
folder1
folder2
folder3
test/folder1:
file11.txt
file12.txt
test/folder2:
file21.txt
file22.txt
test/folder3:
file31.txt
file32.txt
file33.txt
(END)
遵循Linux命令的回答,以树的形式打印目录结构:ls -R | grep“:$” | sed -e's /:$ //'-e's / [^-] [^ \ /] * \ //-/ g'-e's / ^ / /'-e's /-/ | /'列出一个...
我有两个版本: