【发布时间】:2016-06-26 06:42:46
【问题描述】:
我有一个包含数千条记录的文件。每行应该有一个或多个 UTC 格式的日期时间字段。
我需要将日期和时间字段转换为EST格式:在小时字段中添加+5,如果它变得大于24,日期也应该改变。
例如:
输入:
123456|2016-03-10T14:30:25.000|abcd|efdgh|1245|2016-03-10T23:30:25.000
654321|2016-03-10T20:30:25.000|abcd|efdgh|1245|2016-03-11T04:30:25.000
输出应该是:
123456|2016-03-10T19:30:25.000|abcd|efdgh|1245|2016-03-10T14:30:25.000
654321|2016-03-11T01:30:25.000|abcd|efdgh|1245|2016-03-10T19:30:25.000
这是我尝试过的:
# cat f
123456|2016-03-10T14:30:25.000|abcd|efdgh|1245|2016-03-10T23:30:25.000 654321|2016-03-10T20:30:25.000|abcd|efdgh|1245|2016-03-11T04:30:25.000
# awk 'BEGIN {FS = "T";; OFS="T" } $2+=4,$3+=5' f
123456|2016-03-10T18T28 654321|2016-03-10T24T9
【问题讨论】:
-
到目前为止,您尝试过什么?您似乎忘记发布无效代码的minimal reproducible example。
-
很抱歉,Stack Overflow 不是代码编写服务。如果您希望在这里获得帮助,则必须表现出一些努力。
-
我是新手,我对脚本的了解不多,但我尝试了以下一个更改小时字段但数据丢失的方法,如果小时超过 24,我不确定如何计算日期#猫 f 123456|2016-03-10T14:30:25.000|abcd|efdgh|1245|2016-03-10T23:30:25.000 654321|2016-03-10T20:30:25.000|abcd|efdgh|1245|2016-03 -11T04:30:25.000 # awk 'BEGIN {FS = "T";; OFS="T" } $2+=4,$3+=5' f 123456|2016-03-10T18T28 654321|2016-03-10T24T9
-
你应该edit你的问题包括那个。