我希望以这种格式获取2日期之间的所有文件:YYYY-MM-DD HH:mm
我也有一些约束:即使在/ tmp中我也无法写文件,而且我无法使用find --newermt
,因为它是旧服务器。
我尝试使用awk但没有成功:
ls -l --time-style=long-iso | awk '{ if (mktime(gensub ("-", " ", $6) " " gensub (":", " ", $7) " 00") >= mktime(gensub ("-", " ", gensub (":", " ", "2014-08-26 12:30")) " 00") && mktime(gensub ("-", " ", $6) " " gensub (":", " ", $7) " 00") <= mktime(gensub ("-", " ", gensub (":", " ", "2014-08-26 12:30")) " 00")) print $8 }'
提前致谢!
答案 0 :(得分:2)
你的意思是有一个旧版本的&#39;发现&#39;或者你没有找到&#39;一点都不。
如果您确实找到了,但它是旧版本,那么除了&#39; -newermt&#39;之外还有其他方式:
How to use 'find' to search for files created on a specific date?
第三个答案显示了如何使用您需要的时间戳创建两个文件。然后使用:
find / -newer /tmp/t1 -and -not -newer /tmp/t2
答案 1 :(得分:2)
我看看您是否可以使用适当格式的stat
。在我的(linux)系统上,用
stat --format=$'%n\t%y' *
然后,根据mtime进行过滤:
stat --format=$'%n\t%y' * |
awk -F"\t" -v from="2014-08-01 00:00" \
-v to="2014-09-01 00:00" 'from <= $NF && $NF <= to {NF--; print}'