我是一名新手,需要使用bash编写一个任务来删除所有30天前的文件。这些文件按照格式 Y_M_D.ext
2019_04_30.txt
命名。
我知道可以使用ls
列出包含这些文件的文件夹中的所有文件。可以使用$ date
获取今天的日期,并将其配置为匹配文件格式$ date "+%Y_%m_%d"
我知道可以使用rm
删除文件。
如何将所有这些内容结合在一起,以编写一个bash脚本以从今天开始删除30天前的文件呢?
用伪代码的Python表示大概是这样的:
for file in folder:
if file.name to date > 30 day from now:
delete file
date --date "2019/04/30" +"%s"
和date +"%s"
可以为给定日期和今天提供时间戳,您只需要转换文件名,然后比较时间戳即可。 - Alex