【发布时间】:2016-01-26 02:02:30
【问题描述】:
这是我正在使用的文件的 sn-p:
709ENVUN07,SET1,FE10,GB0009252882,GB,GBX,NULL,S,O,LO,1510.00000000,173,N,F,28022007,07:51:15,3717
208ATNHG07,SET1,FE10,GB0009252882,GB,GBX,NULL,S,O,LO,1550.00000000,1800,N,F,18012007,15:48:21,654681
如您所见,日期格式为:28022007、18012007
使用 sed 我已成功更改为我想要的格式。
gzip -dc allGlaxoOrderHistory.CSV.gz |sed 's/\([0-9]\{2\}\)\([0-9]\{2\}\)\(2[0-9]\{3\}\)/\1-\2-\3/g' > newOrderHistory.csv
但是 sed 也将 GB0009252882 更改为 GB00-09-252882,如下所示
709ENVUN07,SET1,FE10,GB00-09-252882,GB,GBX,NULL,S,O,LO,1510.00000000,173,N,F,28-02-2007,07:51:15,3717
208ATNHG07,SET1,FE10,GB00-09-252882,GB,GBX,NULL,S,O,LO,1550.00000000,1800,N,F,18-01-2007,15:48:21,654681
问题是如何在不改变GB0009252882 的情况下将28022007、18012007 更改为28-02-2007、18-01-2007。
【问题讨论】:
标签: date unix sed format command