[英]Passing parameters to a print directory like tree command
我有:
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.