如何在上个月创建/修改的 unix 服务器上查找文件?
例如。如果当前月份是 7 月,则应显示在 6 月创建/修改的文件列表。
monthToFind=`date -d "1 months ago" "+%Y-%m"`
find . -printf "%TY-%Tm %p\n" | egrep "^$monthToFind " | sed "s/^$monthToFind //g"
这将比在 find 中使用时间范围要慢。但是时间范围很难确定,很快就会失效,甚至可能在命令执行的时候。
不幸的是,这将错过上个月修改的文件,而本月也修改了这些文件。我不知道确定这些文件的方法。
一种方法是执行该命令。
ls -laR | grep monthName
哪里montName
可能是一月,二月,三月,等等...(记住将工作目录更改为您感兴趣的目录。另请注意,此方法是递归的,因此将检查所有子目录有了这个,您还可以检索所有文件权限等等......
我相信这会是更好的方法(如果他们跳进我的脑海,我会编辑这篇文章)但因为我在喝咖啡休息时间,所以我发现这更快。
为了查找上个月修改过的文件,您需要使用find
设置范围,例如:
cd / (if you are wanting to start from the root)
find . -type f -mtime +26d -mtime -56d -print
您应该调整您的范围以包括您希望包括的日期。
祝你好运!