Centos 上出現了相當奇怪的錯誤訊息。
我嘗試運行這個命令:
find /tmp/something -type f -mtime +2h -exec cp '{}' /tmp/target \;
我得到的錯誤是:
find: invalid argument `-exec' to `-mtime'
其他發行版上的「查找」會有所不同嗎?
答案1
-mtime
使用了幾天,如果您需要 2 小時,請檢查以下內容:
find /tmp/something -type f -mmin +120 -exec cp '{}' /tmp/target \;
mmin 指定分鐘,因此 -mmin +120 將過濾 120 分鐘前(2 小時)之前的內容。從手冊中:
-mtime n
檔案資料最後一次修改是在 n*24 小時前。請參閱 -atime 的註釋以了解舍入如何影響文件修改時間的解釋。
-mmin n
檔案資料最後一次修改是在 n 分鐘前。
答案2
MacOS 上的實作find
與 Linux 上的實作略有不同。我相信您在 Linux 系統上遇到了上述錯誤。
在 Linux 上,mtime
僅接受 +- 和數字。數字是天數。
對於上面你想做的事情,你必須使用mmin
-mmin n
File’s data was last modified n minutes ago.
此命令應該在 Linux 上運行:
find /tmp/something -type f -mmin +120 -exec cp '{}' /tmp/target \;