我有一个 .sql 文件,每行包含大约 15,000,000 个 INSERT 命令,如下所示:
INSERT INTO tableName (col1,col2,col3,col4,col5,col6,col7,col8) VALUES ('Jan 7 2018 12:33PM', 'R', 'essential-app', '15952008002', 'Jan 7 2018 12:30PM', '0', 'E', NULL);
我想包装两个日期/时间值,使它们看起来像STR_TO_DATE('Jan 7 2018 12:33PM',%b %d %Y %h:%i%p)
- 当然,保留原始值。
我以前用 sed 对文件进行过小改动,但从来没有这么复杂过。如何定位这两个日期/时间值,以及如何将字符串添加到匹配字符串的开头和结尾?
添加到开头:STR_TO_DATE(
添加到末尾:,%b %d %Y %h:%i%p)
可以在一个 sed 命令中完成,还是每个日期/时间值都需要一个 sed 命令?
尝试:
笔记:
'\''
是如何在单引号字符串中插入单引号。正则表达式匹配:
'
,后跟Jan
(或Feb
等),7 2018
,12:30PM
,最后'
。这改变了
进入
我冒昧地将格式字符串用单引号括起来。我希望这是本意。