ksh - 删除早于当天开始的文件
问题描述
我想使用允许使用 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
表达。:-(
推荐阅读
- swift - Xcode 13.0 不自动补全功能/代码
- sql - SQL Using LIKE and ANY at the same time
- html - 使用 Selenium 在 html 中查找优质元素
- xcode - 如何在 Xcode 最新代码签名格式中查看页面大小
- python - 试图找到最大的主要因素,但我不知道出了什么问题。请给我建议
- javascript - Smarty php - 如何将1000替换为1k等
- html - 将 SQL Server 按数据分组显示到图表中
- android - Android AOSP API 26 不支持 webview
- docker - 如何使用 traefik 将子域路由到 docker 容器中的路径?
- python - ValueError:样本大于总体或为负 [IG BOT]