我只需要选择2014年 0729 - 2014 0921 期间的目录。
目录看起来像这样。
20140729_154208 20140814_221350 20140829_215623
这样做的最佳方法是什么?
由于
答案 0 :(得分:1)
find
为了查找范围内修改的文件,如果目录中最后一个文件的创建时间与目录名称匹配,最简单的方法是在范围边界创建文件,使用-newer
谓词。
touch -t 201407290000 start
touch -t 201409210000 stop
find . -newer start \! -newer stop -type d
(我不知道如何处理regex
内的日期,但我希望我有时间学习)
awk
是的,为什么不使用awk
而不是构建静态regex
来匹配案例?
使用一个小程序将查找或结果传递给awk
,检查结果是否在stop
和start
之间(注意:对于find
我必须{{1}比较):
substr(3,10)
(它适用于我find . |awk -v start=20140729 -v stop=20140921 \
'{ curr=substr($0, 3, 10); if (curr <= stop && curr >= start) { print $0 } }'
和AIX
)