-1
問題的常規文件和目錄的數量是在標題,查找當前目錄和子目錄包括當前目錄
很明顯,我知道,我所要求的只是等於: 1 + 發現。 -type f | wc -l
所以我的問題是如何將兩者結合?
非常感謝提前!
最好的問候,
問題的常規文件和目錄的數量是在標題,查找當前目錄和子目錄包括當前目錄
很明顯,我知道,我所要求的只是等於: 1 + 發現。 -type f | wc -l
所以我的問題是如何將兩者結合?
非常感謝提前!
最好的問候,
你的問題說:「找到的常規文件和目錄的數量」,因此只使用-type f
是不正確的,因爲它會發現只有普通文件,不是目錄。您需要找到兩種類型:-type f -o -type d
。
另一個細節。 find
也會找到當前目錄,並將其顯示爲第一個結果,因此您不需要執行+1
。它已經包括在內了!
還使用-prune
跳過以.
(隱藏)開頭的文件和目錄。在這種情況下-o print
是必要的。由於我們不需要以.
開頭的文件或目錄,因此我們不能使用.
作爲搜索路徑,否則我們將跳過所有內容,因爲所有結果都將以.
開頭。改爲使用$PWD
。
find $PWD \(-type f -or -type d \) -name ".*" -prune -o -print | wc -l
請注意,這將排除包含在隱藏目錄中的所有文件和目錄,即使這些文件和目錄不隱藏。舉例來說,像這樣的一個文件,將已排除:
/my/path/.hidden_dir/not_hidden_file
當你使用'-o'你需要在每個分支 – Barmar
使用'-print'是沒有必要的,因爲它是已經默認行爲。 –
當我使用'-o'時,我認爲默認是禁用的,但我錯了。 – Barmar