Unix Date Arithmatic

时间:2017-02-13 10:11:07

标签: file datetime unix aix

环境:AIX 6.1

我需要在目录中找到最新文件的修改时间戳,并从中减去参数化的时间值,例如几秒或几分钟,然后创建一个参考文件,其结果时间戳为"触摸-t"。

使用" find -newer"此文件将用于稍后扫描目录,以查找除创建的参考文件之外的任何新文件。命令。

有人可以帮我这么做吗?

  1. 查找文件的修改时间戳?
  2. 从上面的时间戳中减去几秒或几分钟,作为参数提供给表格中的脚本(MM.SS或只是SS)。
  3. 结果必须采用YYMMDDhhmm.ss形式才能使用" touch -t"来创建参考文件。命令。
  4. 以下是我尝试的方法。

    1. 我使用以下命令找到了文件的修改时间戳。 perl -e' @ d = localtime((stat(shift))[9]); printf"%04d%02d%02d%02d%02d。%02d \ n",$ d [5] + 1900,$ d [4] + 1,$ d [3],$ d [2 ],$ d [1],$ d [0]'
    2. 输出格式为YYMMDDhhmi.ss

      1. 从上面的时间戳中,我减去了30秒,例如如下所示。 print" $ {latest_file_ts} - $ {P_TS_ADJ}" | BC

      2. 使用上述步骤的输出,使用了以下触摸命令。

      3. touch -t" YYMMDDDhh.ss"

        此文件已创建,将在以后的某个时间点使用 " find -type f -newer查找比目录中的文件更新的所有文件。

        然而,"" $ {latest_file_ts} - $ {P_TS_ADJ}" | BC"由于我正在执行数值运算而不是日期算术,因此无法正常工作。

        所以,减法后我的结果出错了。你能帮忙解决一下吗?

0 个答案:

没有答案