【发布时间】:2016-08-03 09:48:41
【问题描述】:
我需要删除所有超过三天的子目录。下面的代码应该可以工作,但它不是......
for i in `find ~/web/smsng/ -maxdepth 1 -type d -mtime +3 -print`; do echo -e "Deleting directory $i";rm -rf $i; done
完整的ls-l目录列表:
(uiserver):u83749873:~/models/ndfd > ls -l
total 1536
drwx---r-x 2 u83749873 ftpusers 12288 Apr 8 12:41 2016040816
drwx---r-x 2 u83749873 ftpusers 12288 Apr 8 13:41 2016040817
drwx---r-x 2 u83749873 ftpusers 12288 Apr 8 14:40 2016040818
drwx---r-x 2 u83749873 ftpusers 12288 Apr 8 15:41 2016040819
drwx---r-x 2 u83749873 ftpusers 12288 Apr 9 00:41 2016040904
drwx---r-x 2 u83749873 ftpusers 12288 Apr 9 01:41 2016040905
drwx---r-x 2 u83749873 ftpusers 12288 Apr 9 02:41 2016040906
drwx---r-x 2 u83749873 ftpusers 12288 Apr 10 03:41 2016040907
drwx---r-x 2 u83749873 ftpusers 12288 Apr 10 04:41 2016040907
drwx---r-x 2 u83749873 ftpusers 12288 Apr 11 07:41 2016040907
【问题讨论】:
-
为什么不查找
find的手册页并注意exec选项 -
你能给我们一个
~/web/smsng/的完整目录列表吗(使用ls -l)?请记住,当文件名更改时,目录计为modified。 -
@EdHeal 只要路径名中没有空格或转义字符,此代码应该可以正常工作。
-
@AaronPerry 我说给我一个清单。如列出目录的内容。即
ls -l ~/web/smsng/。你可以把它放在你的问题正文中。 -
所以,如果我只想要最后三天,我会将
-mtime +3更改为-mtime +2?