gpt4 book ai didi

linux - 使用 Awk 或 Bash 减去两列的值?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:04:06 27 4
gpt4 key购买 nike

这是我的文件:

$ cat myfile.txt 
48700039|09:39:58|09:40:34
48700040|09:59:12|09:59:42
48700041|10:01:08|10:05:47
48700042|10:50:53|10:51:24

我想从第 3 列中减去第 2 列,所以我想要的输出是:

48700039|09:39:58|09:40:34|00:00:36
48700040|09:59:12|09:59:42|00:00:30
48700041|10:01:08|10:05:47|00:04:39
48700042|10:50:53|10:51:24|00:00:31

我已经尝试了一切...提前致谢! =)

最佳答案

有时候不得不离开awk/sed/bash的美好世界,转入一门懂时代的脚本语言。就是这样一个场合。

#!/usr/bin/env python

from datetime import datetime

FMT = '%H:%M:%S'

with open("myfile.txt") as fd:
for line in fd:
line = line.strip()
t = line.split('|')
tdelta = datetime.strptime(t[2], FMT) - \
datetime.strptime(t[1], FMT)

print "%s|%s" % (line, tdelta)

输出:

48700039|09:39:58|09:40:34|0:00:36
48700040|09:59:12|09:59:42|0:00:30
48700041|10:01:08|10:05:47|0:04:39
48700042|10:50:53|10:51:24|0:00:31

关于linux - 使用 Awk 或 Bash 减去两列的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15969997/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com