2013-01-10 67 views
-1

可能重複:
List all directories recursively in a tree-like列出目錄中的遞歸所有的目錄樹一樣使用AWK

我想模擬使用awk是遞歸的顯示所有的目錄這樣的格式tree命令:

|____ 
| |____0 
| |____b 
| |____c 
| | |____a 
| | |____w 

而且我做了它使用sed

find ./ -type d -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g' 

但我怎麼能做到這一點使用awk

+0

@shellter你問我展示我試過什麼,所以就是這樣。它沒有重複,因爲那個關閉了。 –

+1

你讓別人爲你編寫代碼。請閱讀awk手冊或http://www.grymoire.com/Unix/Awk.html。我會給你提示。閱讀'gsub(/ s /,「r」,「str」或$ fldNum)''。祝你好運。 – shellter

回答

2

你不顯示任何嘗試寫東西,但我做了一些東西,所以我告訴你我的soluiton。期待這可以幫助你學習一些awk。

find ./ -type d -print | awk -F "/" '{for (i=1; i<=NF-2; i++){printf "| "} print "|____"$NF}' 

這個awk命令用作分隔符「/」(-F選項)。

,併爲每個行打印「|」儘可能多的時間字段(NF)的數量減去2 最後它打印「| _」你的最後一個字段($ NF)folowed。

+0

太棒了!謝謝皮埃爾= D –