gpt4 book ai didi

bash - 如何在 csv 中获取日期并将其从欧洲时间戳转换为 bash 中的美国格式?

转载 作者:行者123 更新时间:2023-11-29 09:25:36 25 4
gpt4 key购买 nike

我想将我的 csv 第一行中的日期转换为美国符号。对我来说最好的方法是使用 bash。但是日期没有链接我的格式,我对 awk 的尝试很糟糕。

原始 CSV:

Datum;Verbrauch
15.05.2016 00:00;0,075
15.05.2016 00:15;0,075
15.05.2016 00:30;0,075
15.05.2016 00:45;0,075
15.05.2016 01:00;0,075

需要的 CSV:

Datum;Verbrauch
2016-05-15 00:00:00;0,075
2016-05-15 00:15:00;0,075
2016-05-15 00:30:00;0,075
2016-05-15 00:45:00;0,075
2016-05-15 01:00:00;0,075

谢谢你的帮助

最佳答案

这里不需要date的强大功能:只需使用printf即可实现您需要的格式:

$ awk -F'[ .:;]' 'NR==1{print;next} {printf "%s-%s-%s %s:%s:00;%s\n",$3,$2,$1,$4,$5,$6}' file
Datum;Verbrauch
2016-05-15 00:00:00;0,075
2016-05-15 00:15:00;0,075
2016-05-15 00:30:00;0,075
2016-05-15 00:45:00;0,075
2016-05-15 01:00:00;0,075

工作原理

  • -F'[.:;]'

    告诉 awk 使用空格、句点、冒号或分号中的任何一个作为字段分隔符

  • NR==1{print;next}

    这打印标题行不变

  • printf "%s-%s-%s %s:%s:00;%s\n",$3,$2,$1,$4,$5,$6

    这会根据需要重新格式化该行。

关于bash - 如何在 csv 中获取日期并将其从欧洲时间戳转换为 bash 中的美国格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37283100/

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