如何仅使用正则表达式删除超过5天的文件

时间:2016-01-08 06:20:46

标签: regex

如何根据当前日期删除超过5天的文件。

我的文件名是这样的:

2016-01-01 Normal.csv
2016-01-02 Normal.csv
2016-01-03 Normal.csv
2016-01-04 Normal.csv
2016-01-05 Normal.csv
2016-01-06 Normal.csv
2016-01-07 Normal.csv

每天都有一个新文件进入该文件夹。我想删除超过5天的文件。

1 个答案:

答案 0 :(得分:1)

sh中的一个例子 - 随意将该方法翻译成“pentaho数据集成”使用的任何语言。

#!/bin/sh
keep=""
pre="("
for past in 0 1 2 3 4 5 ; do
        one=`date -d-${past}days +%Y-%m-%d`
        keep="${keep}${pre}${one}"
        pre="|"
done
keep="${keep}) Normal.csv"
echo $keep

$ ./dsh.sh
(2016-01-08|2016-01-07|2016-01-06|2016-01-05|2016-01-04|2016-01-03) Normal.csv

我不清楚你是否想要将这一天保留5天;如果你不这样做,那么改变应该足够明显了。