我有以下 SQL,我需要将一个整数附加到电子邮件地址 - 并为每条记录增加该数字。
Insert into D2PROD."FICTITIOUS_VALUES" values (894735,'John','Doe','U',to_timestamp('07-AUG-58 06.09.58.213000000 AM','DD-MON-RR HH.MI.SS.FF AM'),'23985','563836','563836','5f4dcc3b5aa765d61d8327deb882cf99','729','1S8I','RANCHESTER','3693','280204','190783','john.doe@example.com');
Insert into D2PROD."FICTITIOUS_VALUES" values (334045,'Jane','Doe','B',to_timestamp('24- APR-66 11.07.41.367000000 AM','DD-MON-RR HH.MI.SS.FF AM'),'14647','298783','298783','5f4dcc3b5aa765d61d8327deb882cf99','229','3904','GRAYSVILLE','5214','301107','280778','jane.doe@example.com');
使用以下命令类型的作品...
:let @a=1 | %s/\(\w\+\.\w\+\)@\(\w\+\.\w\{3}\)/\="\1_".(@a+setreg('a',@a+1))."@\2"/g
但结果有奇怪的控制字符:
Insert into D2PROD."FICTITIOUS_VALUES" values (894735,'John','Doe','U',to_timestamp('07-AUG-58 06.09.58.213000000 AM','DD-MON-RR HH.MI.SS.FF AM'),'23985','563836','563836','5f4dcc3b5aa765d61d8327deb882cf99','729','1S8I','RANCHESTER','3693','280204','190783','^A_1@^B');
Insert into D2PROD."FICTITIOUS_VALUES" values (334045,'Jane','Doe','B',to_timestamp('24-APR-66 11.07.41.367000000 AM','DD-MON-RR HH.MI.SS.FF AM'),'14647','298783','298783','5f4dcc3b5aa765d61d8327deb882cf99','229','3904','GRAYSVILLE','5214','301107','280778','^A_2@^B');
我浏览了这个 wiki 页面 - 但我似乎无法正确使用语法。 http://vim.wikia.com/wiki/Making_a_list_of_numbers
谢谢,
马特