Bash - 列出日期范围内的文件

时间:2014-09-27 15:15:52

标签: bash shell sh ls

我正在尝试使用bash列出今年7月最后修改过的文件。

到目前为止,我一直在努力围绕this blog *做出努力并提出:

startdate=”201407010000?
enddate=”201408010000?
touch -t $startdate ./startdatefiles
touch -t $enddate ./enddatefiles
find ./ -type f -newer ./startdatefiles ! -newer ./enddatefiles -ls

我收到以下错误:

touch: invalid date format `201408010000?'

有没有人知道这样做的直接方式?

编辑:

* N.b.该博客已更新

1 个答案:

答案 0 :(得分:1)

不知何故,博客文章让代码搞砸了。引号必须是ASCII引号,并且应在赋值中配对:

startdate="201407010000"
enddate="201408010000"

实际上由于值(时间戳)不包含空格,因此这里不需要引号。它可以写成:

startdate=201407010000
enddate=201408010000