VRK*_*VRK 24 linux find delete-file
我使用以下命令删除超过一年的文件.
  find /path/* -mtime +365 -exec rm -rf {} \;
但是,现在我要删除修改时间早于2014年1月1日的所有文件
我怎么在linux中做到这一点.
小智 30
这对我有用:
find /path ! -newermt "YYYY-MM-DD HH:MM:SS" | xargs rm -rf
小智 21
您可以将时间戳作为文件触摸,并将其用作参考点:
例如2014年1月1日:
touch -t 201401010000 /tmp/2014-Jan-01-0000
find /path -type f ! -newer /tmp/2014-Jan-01-0000 | xargs rm -rf 
这是有效的,因为我们正在使用find一个-newer开关.  
来自man find:
-newer file
       File  was  modified  more  recently than file.  If file is a symbolic
       link and the -H option or the -L option is in effect, the modification time of the 
       file it points to is always used.
yog*_*oga 14
另一个答案会污染文件系统,并且find它本身提供了“删除”选项。因此,我们不必将结果通过管道传输到 xargs 然后发出 rm。
这个答案更有效:
find /path -type f -not -newermt "YYYY-MM-DD HH:MI:SS" -delete
find ~ -type f ! -atime 4|xargs ls -lrt
这将列出4 天前访问过的文件,从主目录搜索。