如何编写一个只删除1个小时以上文件夹的shell脚本?
这是我到目前为止所做的:
find /path/to/folder -mtime +1 -exec rm {}\;
但这有两个问题:
1. +1实际上是一天而不是一小时
2.当我运行脚本时,我收到此错误。 find:-exec:no terminateating“;”或“+”
我打算通过cron运行它,我正在从mac终端测试它。
谢谢,
三通
答案 0 :(得分:3)
使用-mmin
代替-mtime
我会把它重写为:
find /folder -mmin +60 -delete
如果你的发现不支持-delete use:
find /folder -mmin +60 -exec rm {} +
答案 1 :(得分:0)
试试这个脚本
HOUR=`/bin/date +%k`
HOUR=`expr $HOUR - 01`
HOUR=`printf "%02d" $HOUR`
MIN=`/bin/date +%M`
DAY=`/bin/date +%Y%m%d`
touch -t $DAY$HOUR$MIN /tmp/t.tmp
find /path/to/folder -type f ! -newer /tmp/t.tmp -exec ls -lt {} +
或
find /path/to/folder -type f ! -newer /tmp/t.tmp -exec ls -lt {} \;