linux什么命令可以根据日期删除文件?

linux什么命令可以根据日期删除文件?,第1张

需要根据时间删除这个目录下的文件,/home/lifeccp/dicom/studies,清理掉20天之前的无效数据。

可以使用下面一条命令去完成:

1

find /home/lifeccp/dicom/studies -mtime +21 -name "*.*" -exec rm -Rf {} \

这个是根据时间删除。

下面简要解释一下,这句shell命令:

1

find /home/lifeccp/dicom/studies -mtime +21 -name "*.*" -exec rm -Rf {} \

/home/lifeccp/dicom/studies :准备要进行清理的任意目录

-mtime:标准语句写法

+10:查找10天前的文件,这里用数字代表天数,+30表示查找30天前的文件

"*.*":希望查找的数据类型,"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件

-exec:固定写法

rm -rf:强制删除文件,包括目录

{} \:固定写法,一对大括号+空格+/+

当然也可以根据文件名、根据大小,根据其他不同条件过滤删除,或者修改等,可以考虑sort等命令结合使用。

你的意思是删除某天之前的所有文件对吧?比如21号之前的文件,就是你所说的20日之前的文件,以及20日当天的文件。我没理解错吧?

我像你们一样,首先,通过find查找文件。

然后计算,文件修改日期是否在限定的日期之前,如果是,那么删除文件。

我把命令写到了bash脚本里面。

使用方法:

chmod +x  ./del_file_before_that_day.sh        #给文件添加执行权限

./del_file_before_that_day.sh  "2013-8-21"

回车,

拖动要处理的文件夹到终端,即可完成处理。

楼主,你可以参考一下。顺便说一下,我把rm命令注释掉了,等你测试好脚本,再去除注释吧,以免因为执行环境不同,结果出偏差,给你带来损失。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11716476.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存