【问题标题】:Timestamp Subtraction Using Bash-Utils使用 Bash-Utils 进行时间戳减法
【发布时间】:2018-06-17 09:14:41
【问题描述】:

嘿,我正在尝试使用 bash/bash-utils 计算我总是想减去最后一个字段 的文件的时间戳之间的差异。这是文件的样子

14:11:56.953700000,172.20.10.1 14:25:49.233263000,172.20.10.1

现在的问题是我想从计算中丢失那个巨大的数字和 IP。

我可以将它们放入 csv 或任何需要的数据文件中。

【问题讨论】:

  • 不清楚您所说的“减去最后一个字段”是什么意思,尽管您可以使用awk -F'.' '{print $1}' 来仅显示没有纳秒的时间。
  • @I'L'I 就像减去这两个时间戳一样,以分钟为单位说明它们之间的区别
  • 使用类似 awk 命令的东西来获取你想要的字符串部分,然后是review this thread。该问题处理的格式与您想要的完全相同...
  • @Coding_Karma,请始终在您的帖子中添加您为解决问题所做的努力。此外,通过查看您的个人资料,您似乎几乎没有选择任何正确答案,因此请始终这样做(选择任何一个答案作为正确答案)以完全关闭线程。

标签: bash awk sed


【解决方案1】:

您能否尝试关注一下,如果这对您有帮助,请告诉我。

awk -F'[.,]' '
FNR==1{
  split($1,time,":");
  sec=time[1] * 3600+time[2]*60+time[3]}
FNR==2{
  split($1,time1,":");
  sec1=time1[1] * 3600+time1[2]*60+time1[3];
  seconds=(sec1-sec)%60;
  min=sprintf("%d",(sec1-sec)/60);
  printf("%s %s\n",min" min",seconds" sec")
}'  Input_file

输出如下。

13 min 53 sec

【讨论】:

    猜你喜欢
    • 2021-10-26
    • 2013-11-17
    • 2021-03-11
    • 1970-01-01
    • 1970-01-01
    • 2013-02-03
    • 2017-06-07
    • 2021-12-29
    • 2011-04-02
    相关资源
    最近更新 更多