【问题标题】:Remove files older than the start of the current day删除早于当天开始的文件
【发布时间】:2020-05-22 04:17:06
【问题描述】:

我想使用允许使用 find 命令查找所有早于今天日期的文件的逻辑。

使用下面有一个从当前时间开始的 24 小时时间戳:

find /home/test/ -mtime +1

我正在尝试实现一个解决方案,无论它在 cron 中的什么时间执行,它都会检查所有早于一天开始时间 00:00 的文件。我相信这可以使用 epoch 来实现,但很难找到最好的逻辑。

【问题讨论】:

    标签: ksh aix


    【解决方案1】:
    #!/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 表达式。 :-(

    UNIX find: opposite of -newer option exists?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-17
      • 2017-07-28
      • 1970-01-01
      相关资源
      最近更新 更多