我在这个数据表中有一个非常难看的日期格式:
adress1@gmail.com othermail@pri.com 2014-03-31T13:24:04Z 555555
adress2@gmail.com othermail2@pri.com 2014-03-31T13:36:19Z 555555
我想将日期格式从此[日期] T [时间] Z格式更改为正常日期时间:
cat file.csv |sed 's/[0-9]T[0-9]/[0-9] [0-9]/g'
但它会回馈
adress1@gmail.com othermail@pri.com 2014-03-3[0-9] [0-9]3:24:04Z 555555
adress2@gmail.com othermail2@pri.com 2014-03-3[0-9] [0-9]3:36:19Z 555555
insted of
2014-03-31 13:24:04Z
你知道吗?
非常感谢!!
答案 0 :(得分:4)
您需要使用反向引用:
sed 's/\([0-9]\)T\([0-9]\)/\1 \2/g' file.csv
如果您知道日期是输入中的第三个字段,您还可以使用awk
:
awk '{sub("T", " ", $3)}1' file.csv