File Unix日期算法

File Unix日期算法,file,datetime,unix,aix,File,Datetime,Unix,Aix,Env:aix6.1 我需要在目录中找到最新文件的修改时间戳,并从中减去一个参数化的时间值,比如几秒或几分钟,然后创建一个带有“touch-t”的时间戳的参考文件 此文件将用于稍后使用“find-newer”命令扫描目录,查找比创建的参考文件更新的任何文件 有人能帮我吗 查找文件的修改时间戳 从上面的时间戳中减去几秒钟或几分钟,作为脚本的参数以(MM.SS或仅为SS)的形式提供 结果必须是YYMMDDhhmm.ss格式,才能使用“touch-t”命令创建参考文件 以下是我尝试过的方法 我使用以下

Env:aix6.1

我需要在目录中找到最新文件的修改时间戳,并从中减去一个参数化的时间值,比如几秒或几分钟,然后创建一个带有“touch-t”的时间戳的参考文件

此文件将用于稍后使用“find-newer”命令扫描目录,查找比创建的参考文件更新的任何文件

有人能帮我吗

  • 查找文件的修改时间戳
  • 从上面的时间戳中减去几秒钟或几分钟,作为脚本的参数以(MM.SS或仅为SS)的形式提供
  • 结果必须是YYMMDDhhmm.ss格式,才能使用“touch-t”命令创建参考文件
  • 以下是我尝试过的方法

  • 我使用以下命令找到了一个文件的修改时间戳。 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]'
  • 输出格式为YYMMDDhhmi.ss

  • 从上面的时间戳中,我减去30秒,例如如下所示。 打印“${latest_file_ts}-${P_ts_ADJ}”| bc

  • 通过上述步骤的输出,使用了以下触摸命令

  • 触摸-t“YYMMDDDhhmi.ss”

    已创建的此文件将在以后的某个时间点与一起使用 “find-type f-newer可在目录中查找比它更新的所有文件

    但是,“${latest_file_ts}-${p_ts_ADJ}”bc无法正常工作,因为我正在执行数字算术而不是日期算术


    因此,我在减法后得到了错误的结果。您能帮助解决吗?

    欢迎使用堆栈溢出!请显示您的问题。您应该包括一个您遇到问题的代码,然后我们可以尝试帮助解决特定问题。您还应该阅读。使用类似于的帮助工具如何?欢迎使用堆栈溢出!请要显示您的问题。您应该包括您遇到问题的代码的一部分,然后我们可以尝试帮助您解决特定问题。您还应该阅读。如何使用帮助工具,如?