主要是利用find命令的mtime參數n[n為整數],表示最后修改時間在n*24小時之前。
n要帶符號。
可實際上 +0 的含義并不是表示0小時之前,而是表示24小時之前,跟 n=1的含義一樣。
值得一提的是還有兩個類似的參數 atime和ctime。
atime表示文件的最后訪問時間,ctime表示文件的最后狀態修改時間.
這里將完整的腳本貼出來:
1
#!/bin/bash
2
#刪除tmp目錄下符合 *.htm模式的文件,不進行遞歸。
3
ARCHDIR=/tmp/
4
ARCHDAY=+0
5 find $ARCHDIR -mtime $ARCHDAY -a -type f -a -name "*.htm" -maxdepth 1 -exec ls -l {} \;
6 find $ARCHDIR -mtime $ARCHDAY -a -type f -a -name "*.htm" -maxdepth 1 -exec /bin/rm {} \;