使用 shell 脚本在日志文件中累积文件名

使用 shell 脚本在日志文件中累积文件名

我的文件名称为

ABC_-_123321.20140505_-_161500.CSV
ABC_-_654145.20140506_-_135020.CSV
String_-_SerialID.Date_-_Time.CSV

开始日期、开始时间、结束日期时间结束作为输入给出。

我怎样才能得到全部文件名(或相对路径)有日期时间给定之间日期时间范围并使用 shell 脚本将它们写入日志文件?

日期时间不是最后访问或修改的日期/时间戳,并且文件名中没有空格。

我可以选择日期时间例如,单独输入,字段之间没有任何分隔符,
20140706
165030
或者我可以将输入视为
20140706165030

答案1

完成这项工作的算法:

对于每个文件获取日期并使差异与给定日期相同。请通过以下链接了解日期差异。

关联

对于solaris(没有GNU日期的unix)使用这个 关联

如果您想要明智的时间,请在 date for 循环内使用循环 for time 。要获得时间差异,您可以使用以下代码

      time1=14:30
      time2=$( date +%H:%M ) # 16:00
      diff=$(  echo "$time2 - $time1"  | sed 's%:%+(1/60)*%g' | bc -l )
      echo $diff hours
      # outputs 1.5 hours

这里sed将 a 替换:为转换为 1/60 的公式。然后通过bc(单击关联了解更多信息)。

注意:如果DIFFERENCE为+ve则日志/内容可以放入指定文件否则不能

相关内容