在Unix中显示特定日期的文件名

时间:2017-10-13 10:35:17

标签: shell unix gnu

我想显示特定日期的文件列表。 假设我在特定目录上有4个文件..

AA (Created on 01-Oct-2015)
BB (Created on 01-Oct-2016)
CC (Created on 01-Oct-2017)
DD (Created on 01-Oct-2017)

如果我将From日期参数作为01-Nov-2015传递 所以它应该显示来自date like > 01-Nov-2015的文件列表 对于上面的参数,它将打印

BB
CC
DD   

文件

2 个答案:

答案 0 :(得分:0)

如果find支持-newerXY支持find /tmp -newermt 01-Oct-2016 参数,您可以使用man参数并提供日期。

示例:

touch -t 02010000 /tmp/stamp
find /usr -newer /tmp/stamp
rm -f /tmp/stamp

来自touch -d 10-Oct-2017 /tmp/stamp find /usr -newer /tmp/stamp rm -f /tmp/stamp 页面:

  

-newerXY参考

     

如果正在考虑的文件的时间戳X比文件引用的时间戳Y更新,则成功。字母X和Y可以是以下任何字母:

     

a文件参考的访问时间

     

B文件参考的出生时间

     

c inode状态更改参考时间

     

m文件参考的修改时间

     

t引用直接解释为时间

official workaround是使用正确的时间戳创建文件:

find -anewer BB

在您的情况下,使用日期来获取匹配的时间戳,如下所示

{{1}}

作为旁注,您可能希望使用以下方式查找比BB更新的文件:

{{1}}

答案 1 :(得分:0)

您可以在find中使用另一个具有更高兼容性的选项:

找到。 -type f -name" something" -mtime +15("天数")

但是你必须计算实际日期和日期之间的天数,而不是你期望的日期,不要只接受一个日期的数字。