DIRS=$(find . -type d)
得到得到所有目錄遞歸。現在我需要查看該列表並僅打印具有多於n個目錄的路徑。所以我需要在路徑中搜索'/'字符,但我用來搜索的方法不起作用。
DIRS=$(find . -type d)
得到得到所有目錄遞歸。現在我需要查看該列表並僅打印具有多於n個目錄的路徑。所以我需要在路徑中搜索'/'字符,但我用來搜索的方法不起作用。
這也適用於你嗎?
DIRS=$(find . -type d -mindepth $n)
命令find .
只是遞歸地列出當前目錄中的所有文件和目錄。使用-type d
,我們將其限制爲只列出目錄。使用-mindepth $n
,我們要求每個目錄的深度至少爲$n
(例如,設置爲n=2
,或者直接用數字替代$n
)。有關更多信息,請參閱man find
。
$(...)
構造運行給定的命令並由其輸出替換;它大致相當於`...`
。最後,這個輸出被分配給DIRS
變量。
這樣做的一個乾淨的方式是做
發現。 -type d鏈接+2
這將找到所有超過2個硬鏈接的目錄。一個子目錄將一個硬鏈接添加到它的父目錄,另外你有一個硬鏈接'。'。和'..'。
你想找到所有深度大於某個值的目錄嗎? – aioobe 2011-01-30 09:23:46
此答案部分相關(免責聲明:這是我對相關問題的回答):http://unix.stackexchange.com/a/83598/7832 – michael 2013-07-19 03:16:33