linux下如何更改csv文件中的时间戳格式
我在一个csv文件中有几条MILION记录。它具有此格式的时间戳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
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