我有一組目錄(在當前目錄中),我正在將其排序文件。源文件或者位於當前目錄中,或者位於其他目錄中(通常深度很多),它也包含在其中。使用-type -regex和-prune查找
我收到了使用find查找的文件列表,使用-type -regex和-prune排除目標目錄中的文件,然後使用另一個-regex選擇文件。
至少,這就是我的意圖和文件列表是正確的 - 有一個例外:目標目錄出現在列表中(但不是他們已經包含的文件 - 這是所需的行爲)。
我有一個解決方法:在隨後的循環中,我放棄了任何不是文件的東西。
我相信在目錄排除正則表達式中有一個簡單的錯誤或我錯過了 - 普隆應該做的事情。
這裏是我的代碼(我用的是Mac - 因此-E選項):
find -E . \
-type d -regex './(DVD|quarantine|720|high|low|error)' -prune -o \
-type f -regex '.*.(avi|wmv|mp4|m4v|mov|mkv)'
...和最後一個問題:如何讓我的文件選擇正則表達式的情況下不敏感?
GNU find具有'-iregex'選項,它與'-regex'類似,但不區分大小寫。 –