Bash脚本获取已记录文件的时间戳,并从另一个日志文件的时间戳中减去它

时间:2013-06-21 18:26:57

标签: linux bash scripting

我正在尝试编写一个包含以下信息的脚本:

   4824597 11:26 /home/customer1/ITAM.xml
   .
   .
   .
   .
   4824597 14:08 /home/customer46/ecds/dropoff/ITAM.xml

我有另一个会记录相同信息的文件

   4824597 11:28 /home/customer1/ITAM.xml
   .
   .
   .
   .
   4824597 14:11 /home/customer46/ecds/dropoff/ITAM.xml

我想知道接收文件需要多长时间。为此,我想减去日志中记录的所有文件的时间戳,并从第一个日志文件中的初始时间戳中减去它们。

我是脚本新手,我正在努力使这项工作成功。我在尝试:

   #!/bin/bash
   time=$11:48:30
   day=$2012-10-12
   time2=$13:13:48
   t=$(date -d "day time" +%s)
   t1=$(date -d "day time2" +%s)
   diff=$(expr $t1 - $t)
   echo $diff

到目前为止没有运气。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

尝试这样的事情:

awk '{
  sub(/:/," ",$2);
  t1=mktime(strftime("%Y %m %d")" "$2" 00");
  getline < "input2.txt";
  sub(/:/," ",$2);
  t2=mktime(strftime("%Y %m %d")" "$2" 00");
  print $3": "t2-t1" s"
}' input1.txt