linux下如何更改csv文件中的时间戳格式

linux下如何更改csv文件中的时间戳格式,linux,bash,csv,timestamp,Linux,Bash,Csv,Timestamp,我在一个csv文件中有几条MILION记录。它具有此格式的时间戳2007-12-15T00:00:00.000Z。我必须把它转换成2007-12-15 00:00:00格式。每个记录包含2个时间戳字段。请帮我做这件事 这是我的csv文件中的示例记录 ObjectID(5334cb)," UK TEAM","292","P 4LR",0,2007-12-15T00:00:00.000Z,2007-12-15T00:00:00.000Z,34.98,170,"Chatt 14/12/2007",2

我在一个csv文件中有几条MILION记录。它具有此格式的时间戳
2007-12-15T00:00:00.000Z
。我必须把它转换成
2007-12-15 00:00:00
格式。每个记录包含2个时间戳字段。请帮我做这件事

这是我的csv文件中的示例记录

 ObjectID(5334cb)," UK TEAM","292","P 4LR",0,2007-12-15T00:00:00.000Z,2007-12-15T00:00:00.000Z,34.98,170,"Chatt 14/12/2007",22.7,4.5,"Shipped",5.20,1
去掉尾随的“Z”,确保您的本地时区为祖鲁(UTC),并且:


当然,您需要修改日期格式以满足您的需要

这是非常简单的字符串操作

perl -i -pe 's/(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2})\.\d{3}Z/"$1 $2"/g' file.csv

请记住,当您随后处理文件时,时间戳是在UTC时区。

有很多这样的例子。尽可能少地搜索。
perl -i -pe 's/(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2})\.\d{3}Z/"$1 $2"/g' file.csv