尋找超過 30 天的日誌文件

尋找超過 30 天的日誌文件

我正在編寫一個腳本來查找給定資料夾中超過 30 天的文件。根據要求,我必須僅刪除具有擴展名的文件.紀錄或者並跳過子目錄。

以下命令傳回 30 天前修改的所有 .log* 檔案。但是,它會傳回所有 .out 文件,甚至是最近的文件。下面的程式碼有什麼問題嗎?

    find -maxdepth 1 -mtime +30 -type f -name "*.log*" -o -name "*.out*"

你能告訴我上面的陳述有什麼問題嗎

答案1

嘗試:

find -maxdepth 1 -mtime +30 -type f \( -name "*.log*" -o -name "*.out*" \)

問題是find邏輯或的結合比邏輯或更緊密。括號抵消了這一點。

沒有括號,find正在尋找匹配的文件任何一個(A)-mtime +30 -type f -name "*.log*" 或者(二) -name "*.out*".

使用括號,find正在尋找 (a) 相符的文件-mtime +30 -type f (b) 匹配-name "*.log*"-name "*.out*"

相關內容