2011-01-30 57 views
0

我使用如何計算使用bash的路徑中的目錄數量?

DIRS=$(find . -type d) 

得到得到所有目錄遞歸。現在我需要查看該列表並僅打印具有多於n個目錄的路徑。所以我需要在路徑中搜索'/'字符,但我用來搜索的方法不起作用。

+0

你想找到所有深度大於某個值的目錄嗎? – aioobe 2011-01-30 09:23:46

+0

此答案部分相關(免責聲明:這是我對相關問題的回答):http://unix.stackexchange.com/a/83598/7832 – michael 2013-07-19 03:16:33

回答

2

這也適用於你嗎?

DIRS=$(find . -type d -mindepth $n) 

命令find .只是遞歸地列出當前目錄中的所有文件和目錄。使用-type d,我們將其限制爲只列出目錄。使用-mindepth $n,我們要求每個目錄的深度至少爲$n(例如,設置爲n=2,或者直接用數字替代$n)。有關更多信息,請參閱man find

$(...)構造運行給定的命令並由其輸出替換;它大致相當於`...`。最後,這個輸出被分配給DIRS變量。

0

這樣做的一個乾淨的方式是做

發現。 -type d鏈接+2

這將找到所有超過2個硬鏈接的目錄。一個子目錄將一個硬鏈接添加到它的父目錄,另外你有一個硬鏈接'。'。和'..'。

相關問題