【发布时间】:2011-07-14 10:47:30
【问题描述】:
我正在努力列出特定月份(例如 2 月)修改过的文件。 以下是几次不成功的尝试:
1) 我尝试创建临时文件并将它们的时间戳设置为下个月的第一次和目标月份的第一次,并在查找中使用 -newer,如下所示:
find -newer "$from" ! -newer "$to"
这列出了在时间间隔 ($from, $to] 内修改的文件,但我想要时间间隔 [$from, $to) (否则,在第一秒创建的文件会出现误报)下个月)。列出在 2 月份修改的文件是额外的问题,因为这需要将时间戳之一设置为仍然在 2 月份的最大时间戳,但 2 月份的天数取决于是否是闰年,这需要额外检查.
2) 如果我使用ls,我会在解析时看到很多复杂性,因为用户名或组可能包含空格。
是否有一种简单且相对便携的方法来执行此操作(因此它适用于任何月份,无论文件名等如何)?
【问题讨论】:
-
你shouldn't parse
ls,正如你所发现的那样。
标签: bash list file unix timestamp