使用sed将结构化数据拼接成sql

来源:互联网 发布:农业网络信息杂志地址 编辑:程序博客网 时间:2024/06/11 03:10

原始数据例子

山东  诸往  ZWA四川  竹园坝 ZYB河南  驻马店 ZMD

目标sql

INSERT INTO public.t_station_code(id, province_name, station_name, station_code) VALUES(nextval('t_station_code_seq'::regclass), '', '', '');

最后的三个单引号分别用上面的三个字段替换。

将有空格的地方替换成', '

sed "s/\s\+/', '/g" test_station_code.txt

拼接最后的');部分

sed "s/$/');/g" new1.txt

拼接前面的insert部分

sed "s/^/INSERT INTO public.t_station_code(id, province_name, station_name, station_code) VALUES(nextval('t_station_code_seq'::regclass), '/g" test_station_code.txt

如果想直接在原始文件中进行操作,使用sed -i即可