与AWK查找和替换

问题描述:

我有一个名为sso_med.txt与AWK查找和替换

 insert into brs.user_components (user_name, component_id, created_date, created_by, last_updated_date, last_updated_by) values ('502683504',16,current_date, '502264160', current_date, '502264160'); 
     insert into brs.user_components (user_name, component_id, created_date, created_by, last_updated_date, last_updated_by) values ('502689031',15,current_date, '502264160', current_date, '502264160'); 
     insert into brs.user_components (user_name, component_id, created_date, created_by, last_updated_date, last_updated_by) values ('502689031',16,current_date, '502264160', current_date, '502264160'); 
     insert into brs.user_components (user_name, component_id, created_date, created_by, last_updated_date, last_updated_by) values ('212462117', 15, current_date, '502264160', current_date, '502264160'); 
     insert into brs.user_components (user_name, component_id, created_date, created_by, last_updated_date, last_updated_by) values ('212462117', 16, current_date, '502264160', current_date, '502264160'); 

我想'502689031',16,current_date,

之间引入一个空间的文件所以,我想下面的命令

awk '{gsub(/,[0-9a-zA-Z]/, ", "); print}' sso_med.txt 

但我我没有得到我期待的东西

insert into brs.user_components (user_name, component_id, created_date, created_by, last_updated_date, last_updated_by) values ('502683504', 6, urrent_date, '502264160', current_date, '502264160'); 
insert into brs.user_components (user_name, component_id, created_date, created_by, last_updated_date, last_updated_by) values ('502689031', 5, urrent_date, '502264160', current_date, '502264160'); 
insert into brs.user_components (user_name, component_id, created_date, created_by, last_updated_date, last_updated_by) values ('502689031', 6, urrent_date, '502264160', current_date, '502264160'); 
+0

其从CURRENT_DATE切出“c”和从数字“1”,并与空间 – sromit

AWK溶液:

awk '{ gsub(/, */, ", ", $0) }1' sso_med.txt 

输出:

insert into brs.user_components (user_name, component_id, created_date, created_by, last_updated_date, last_updated_by) values ('502683504', 16, current_date, '502264160', current_date, '502264160'); 
insert into brs.user_components (user_name, component_id, created_date, created_by, last_updated_date, last_updated_by) values ('502689031', 15, current_date, '502264160', current_date, '502264160'); 
insert into brs.user_components (user_name, component_id, created_date, created_by, last_updated_date, last_updated_by) values ('502689031', 16, current_date, '502264160', current_date, '502264160'); 

  • gsub(/, */, ", ", $0) - 替换/ 重新排列每个分离器(即,)与单一尾部空格

只要给后面参考:

awk '{gsub(/,[0-9a-zA-Z]/, " &"); print}' sso_med.txt 
+0

替换它们它引入了一个额外, – sromit

+0

@sromit好的,不用逗号试试 - 看更新 –