4

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

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

4

3 回答 3

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

这将比在 find 中使用时间范围要慢。但是时间范围很难确定,很快就会失效,甚至可能在命令执行的时候。

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

于 2012-11-15T18:21:42.323 回答
2

一种方法是执行该命令。

  • ls -laR | grep monthName哪里montName可能是一月,二月,三月,等等...(记住将工作目录更改为您感兴趣的目录。另请注意,此方法是递归的,因此将检查所有子目录

有了这个,您还可以检索所有文件权限等等......

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

于 2012-07-26T12:54:18.493 回答
1

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

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

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

祝你好运!

于 2012-07-26T18:05:50.390 回答