我有一个包含多行的SQL文件,如下所示:
INSERT INTO mytable VALUES (1,2,3,'foo'),(2,4,5,'bar'),(3,5,9,'baz'),...;
INSERT INTO mytable VALUES (10,2,3,'foo'),(11,4,5,'bar'),(12,5,9,'baz'),...;
Run Code Online (Sandbox Code Playgroud)
我想在每一行的每个元组中添加第五列,像这样
INSERT INTO mytable VALUES (1,2,3,'foo','txt_foo'),(2,4,5,'bar','txt_bar'),(3,5,9,'baz','txt_baz'),...;
INSERT INTO mytable VALUES (10,2,3,'baz','txt_baz'),(11,4,5,'bar', 'txt_bar'),(12,5,9,'foo','txt_foo'),...;
Run Code Online (Sandbox Code Playgroud)
可以完成工作的sed或awk命令是什么?我尝试了多种正则表达式组合,但似乎没有选择任何出现的内容,也没有选择整个行。
我尝试过,例如:
sed -E "s/\((d+),(d+),(d+),'(.*)'\)/(\1,\2,\3,'\4','txt_\4')/g" /myfile.sql
Run Code Online (Sandbox Code Playgroud)
它什么也没做。