根据创建/修改日期在unix中查找文件

时间:2012-07-26 12:45:43

标签: unix

如何在上个月创建/修改的unix服务器上查找文件?

代表。如果当前月份是7月,则应显示在Jun中创建/修改的文件列表。

3 个答案:

答案 0 :(得分:2)

一种方法是执行该命令。

  • ls -laR | grep monthName其中montName可能是Jan,Feb,Mar等等...(记得将工作目录更改为您感兴趣的目录。另请注意此方法是递归的所以将检查所有子目录

使用此功能,您还可以检索所有文件权限等等......

我相信这会有更好的方法(如果他们跳进我的脑海,我会编辑这篇文章)但是因为我正在喝咖啡休息时间,所以我找到的速度更快。

答案 1 :(得分:2)

monthToFind=`date -d "1 months ago" "+%Y-%m"`
find . -printf "%TY-%Tm %p\n" | egrep "^$monthToFind " | sed "s/^$monthToFind //g"

这比在find中使用时间范围要慢。但是时间范围很难确定,并且很快变得无效,甚至可能在命令执行时也是如此。

不幸的是,这将错过上个月修改过的文件,这些文件也在本月进行了修改。我不知道确定这些文件的方法。

答案 2 :(得分:1)

为了查找上个月修改的文件,您需要使用find设置范围,例如:

cd /  (if you are wanting to start from the root)
find . -type f -mtime +26d -mtime -56d -print

您应该调整范围以包含您希望包含的日期。

祝你一切顺利!