与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');
答
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好的,不用逗号试试 - 看更新 –
其从CURRENT_DATE切出“c”和从数字“1”,并与空间 – sromit