如何在 Windows 版 Bash 中列印包含檔案的樹?

如何在 Windows 版 Bash 中列印包含檔案的樹?

我發現這個命令可以顯示目前目錄下的目錄樹:

ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/   /' -e 's/-/|/'         

其產生:

 .                          
 |-docs                     
 |-lib                      
 |-node_modules             
 |---connect-file-cache     
 |-----docs                 
 |-----lib                  
 |-----node_modules         
 |-------mime               
 |-------underscore         
 |-----src                  
 |-----test                 
 |-----test_fixtures        
 |---mime                   
 |---snockets               

很好,但是文件不存在。我的 bash 腳本編寫技能很弱,所以我不知道如何讓檔案顯示在該輸出中。

由於我使用的是 Windows,因此我認為無法將tree命令輸入到 mingw32 中。

答案1

https://superuser.com/a/359728/5200

將此函數加入 .bash_profile 中:

function ftree {
    SEDMAGIC='s;[^/]*/;|____;g;s;____|; |;g'

    if [ "$#" -gt 0 ] ; then
       dirlist="$@"
    else
       dirlist="."
    fi

    for x in $dirlist; do
         find "$x" -print | sed -e "$SEDMAGIC"
    done

}

它並不漂亮,但它可以完成工作。歸功於https://superuser.com/users/105575/ahmed-masud

答案2

可以幫助您解決此問題的工具是印刷大師。這個方便的解決方案將在預覽後快速列印資料夾樹。

當您按一下左側資料夾清單中的某個資料夾時,您將看到其所有子資料夾列在右上角清單中。在其下方您將找到將列印的報告模擬。在模擬的右側有一個報告類型列表,您需要在「標準」標籤中選取「樹」。

列印資料夾樹

相關內容