簡體   English   中英

將參數傳遞給像樹命令這樣的打印目錄

[英]Passing parameters to a print directory like tree command

按照Linux 命令的答案以樹的形式打印目錄結構

我有:

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/-/|/' 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/-/|/' 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)

我有兩個版本:

function lstree_1(){ls -R "$1" | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/   /' -e 's/-/|/'}
function lstree_2(){echo "$1" | ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/   /' -e 's/-/|/'}

享受

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM