首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

怎么根据文件名的日期删除以前的日志

2013-09-09 
如何根据文件名的日期删除以前的日志现在在一个文件夹下有 XXX_20130816_XX.logXXX_20130815_XX.logXXX_20

如何根据文件名的日期删除以前的日志
现在在一个文件夹下有 
XXX_20130816_XX.log  
XXX_20130815_XX.log
XXX_20130814_XX.log
XXX_20130813_XX.log

如何写一个脚本根据文件名字上的日期删除几天起的日志  求大神帮助,给个思路就可以
[解决办法]
日志格式是一定的,可以获取所有文件名,同时获取日期字段进行处理,生成一个删除列表,剩下的就是你自由发挥了。
[解决办法]
获取当前日期,用正则表达式解析你的文件名获取log日志时间。对比结果
然后想怎么删怎么删。
不过是日志文件的话,为什么不直接获取文件属性里的时间呢,也不用这么麻烦。
[解决办法]

引用:
Quote: 引用:

获取当前日期,用正则表达式解析你的文件名获取log日志时间。对比结果
然后想怎么删怎么删。
不过是日志文件的话,为什么不直接获取文件属性里的时间呢,也不用这么麻烦。


文件属性可能会改,还得正则表达式呢 貌似很复杂啊

写日志文件的时候文件才会创建,文件的创建时间好像不会有修改吧。

正则试试 /^[\S]*_([\d]{4})([\d]{2})([\d]{2})_[\S]*/
$1 为年
$2 为月
$3 为日
[解决办法]
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

获取当前日期,用正则表达式解析你的文件名获取log日志时间。对比结果
然后想怎么删怎么删。
不过是日志文件的话,为什么不直接获取文件属性里的时间呢,也不用这么麻烦。


文件属性可能会改,还得正则表达式呢 貌似很复杂啊

写日志文件的时候文件才会创建,文件的创建时间好像不会有修改吧。

正则试试 /^[\S]*_([\d]{4})([\d]{2})([\d]{2})_[\S]*/
$1 为年
$2 为月
$3 为日



你这个我完全看不懂啊  比如我现在解析出来了 比如 20130816  我怎么判断是超过3天的

你能获取当前日期吧。能获取并且知道20130816 中间的比较函数自己想怎么写怎么写嘛。
上面正则我用的perl的写的。
或者你想分开年月日,最老的办法用sprintf试试。

热点排行