如何获取两个日期之间的所有日志文件,我的日志文件名称包含创建日期:
x-node0-1-22.09.2018 =>创建于2018年9月22日。
提前致谢

最佳答案

ls -1|awk -F'[-.]' -v from='01.08.2018' -v to='01.10.2018'
    '{split(from,f);from=f[3]f[2]f[1];
        split(to,t);to=t[3]t[2]t[1];
        d=$NF$(NF-1)$(NF-2)}d>=from&&d<=to'


这条线应该工作。

注意:


由于您的示例文件名不包含任何特殊字符,因此我很懒,将ls结果用作输入。不推荐。
您可以更改fromto参数。
在日志文件目录下执行命令。


用一些数据测试

kent$  ls -1
x-node0-1-22.08.2018
x-node0-1-22.09.2018
x-node0-1-31.08.2018
x-node0-1-31.10.2018

kent$  ls -1|awk -F'[-.]' -v from='01.08.2018' -v to='01.10.2018' '{split(from,f);from=f[3]f[2]f[1];split(to,t);to=t[3]t[2]t[1];d=$NF$(NF-1)$(NF-2)}d>=from&&d<=to'
x-node0-1-22.08.2018
x-node0-1-22.09.2018
x-node0-1-31.08.2018

关于linux - 根据文件名获取两个日期之间的日志,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54305468/

10-15 17:58