【发布时间】:2020-05-22 04:17:06
【问题描述】:
我想使用允许使用 find 命令查找所有早于今天日期的文件的逻辑。
使用下面有一个从当前时间开始的 24 小时时间戳:
find /home/test/ -mtime +1
我正在尝试实现一个解决方案,无论它在 cron 中的什么时间执行,它都会检查所有早于一天开始时间 00:00 的文件。我相信这可以使用 epoch 来实现,但很难找到最好的逻辑。
【问题讨论】:
我想使用允许使用 find 命令查找所有早于今天日期的文件的逻辑。
使用下面有一个从当前时间开始的 24 小时时间戳:
find /home/test/ -mtime +1
我正在尝试实现一个解决方案,无论它在 cron 中的什么时间执行,它都会检查所有早于一天开始时间 00:00 的文件。我相信这可以使用 epoch 来实现,但很难找到最好的逻辑。
【问题讨论】:
#!/bin/ksh
touch -t $(date +%Y%m%d0000.00) fence
find /home/test/ ! -newer fence -exec \
sh -c '
for f in "$@"; do
[[ $f -ot fence ]] && printf "%s\n" "$f"
done
' sh {} + \
;
rm fence
为什么find(1) 没有-older 表达式。 :-(
【讨论】: