我想寫一個腳本,它將在樹結構中打印目錄,子目錄及其文件,但不使用樹命令。Linux命令打印目錄結構樹
例子:
DIR: A
f1
f2
DIR: B
f3
DIR: C
file1
file21
我試圖解決的多,但我總是跑進我不能目錄或文件區分的問題,所以我不能採用正確的格式。 「DIR:」前綴使其變得複雜。有什麼非常明顯的我失蹤了嗎?
我想寫一個腳本,它將在樹結構中打印目錄,子目錄及其文件,但不使用樹命令。Linux命令打印目錄結構樹
例子:
DIR: A
f1
f2
DIR: B
f3
DIR: C
file1
file21
我試圖解決的多,但我總是跑進我不能目錄或文件區分的問題,所以我不能採用正確的格式。 「DIR:」前綴使其變得複雜。有什麼非常明顯的我失蹤了嗎?
使用的-d
測試:
if [ -d "$path" ] ; then
echo DIR
fi
引用這是你想找的tree,應在大多數發行版(也許作爲一個可選安裝)?
~> tree -d /proc/self/
/proc/self/
|-- attr
|-- cwd -> /proc
|-- fd
| `-- 3 -> /proc/15589/fd
|-- fdinfo
|-- net
| |-- dev_snmp6
| |-- netfilter
| |-- rpc
| | |-- auth.rpcsec.context
| | |-- auth.rpcsec.init
| | |-- auth.unix.gid
| | |-- auth.unix.ip
| | |-- nfs4.idtoname
| | |-- nfs4.nametoid
| | |-- nfsd.export
| | `-- nfsd.fh
| `-- stat
|-- root ->/
`-- task
`-- 15589
|-- attr
|-- cwd -> /proc
|-- fd
| `-- 3 -> /proc/15589/task/15589/fd
|-- fdinfo
`-- root ->/
27 directories
取自維護者網頁的樣本。
您可以添加選項-L #
,其中#
被數字替換,以指定最大遞歸級別。
刪除-d
也顯示文件。
或者一般來說:權限的第一位是文件類型,如果是'd'則是目錄。 – rockerest