命令有find
分別用於查找文件和目錄的參數-f
和-d
,但我想避免在它們之間編寫兩個find
命令和&&
或||
。
我想在一個命令中尋找文件或目錄(以有條件找到的為準),可以-d
和進行或-f
運算嗎?
答案1
使用該-o
選項。
來自尋找手冊頁(在「操作員」標題下):
expr1 -o expr2 Or; expr2 is not evaluated if expr1 is true.
答案2
如果您沒有指定-f
nor -d
,find
則with顯示所有類型的inode(文件,目錄,設備,連結等...)。如果您只需要文件和目錄,請使用-o
,如果您要使用其他類型的條件,則可能使用轉義括號。
例如,過去 2 天內修改/建立的所有檔案、目錄、連結等:
find . -iname '*blah*' -mtime -2
與上面相同,但僅文件和目錄(無符號連結、設備...)
find . -iname '*blah*' \( -type d -o -type f \) -mtime -2