使用Sed复制和修改行 让我们考虑一个SQL文件作为输入(即MyTab.sql),包含以下语句: EXECUTE IMMEDIATE 'CREATE OR REPLACE PUBLIC SYNONYM ' || myTable || ' FOR SCHEMA1.' || myTable;

使用Sed复制和修改行 让我们考虑一个SQL文件作为输入(即MyTab.sql),包含以下语句: EXECUTE IMMEDIATE 'CREATE OR REPLACE PUBLIC SYNONYM ' || myTable || ' FOR SCHEMA1.' || myTable;,sed,Sed,是否有一种简单的方法(使用sed)复制此语句并按如下方式修改它们 EXECUTE IMMEDIATE 'CREATE OR REPLACE SYNONYM SCHEMA2.' || myTable || ' FOR SCHEMA1.' || myTable; EXECUTE IMMEDIATE 'CREATE OR REPLACE SYNONYM SCHEMA3.' || myTable || ' FOR SCHEMA1.' || myTable; 非常感谢你的帮助。 M *编辑* 第一部分可

是否有一种简单的方法(使用sed)复制此语句并按如下方式修改它们

EXECUTE IMMEDIATE 'CREATE OR REPLACE SYNONYM SCHEMA2.' || myTable || ' FOR SCHEMA1.' || myTable;
EXECUTE IMMEDIATE 'CREATE OR REPLACE SYNONYM SCHEMA3.' || myTable || ' FOR SCHEMA1.' || myTable;
非常感谢你的帮助。 M

*编辑*


第一部分可以这样解决:

sed -i -e '/PUBLIC SYNONYM/p' myTable.sql
sed -i -e '/PUBLIC SYNONYM/p' myTable.sql
第二部分介绍两个搜索和替换命令:

sed -i -e '0,/PUBLIC SYNONYM/s/PUBLIC SYNONYM /SYNONYM SCHEMA2./' myTable.sql
sed -i -e '0,/PUBLIC SYNONYM/s/PUBLIC SYNONYM /SYNONYM SCHEMA3./' myTable.sql
sed -i -e '0,/PUBLIC SYNONYM/s/PUBLIC SYNONYM /SYNONYM SCHEMA2./' myTable.sql
sed -i -e '0,/PUBLIC SYNONYM/s/PUBLIC SYNONYM /SYNONYM SCHEMA3./' myTable.sql

我认为我的问题已经得到答复。如果您发现有更有效的方法,请随时回复。干杯。

第一部分可以这样解决:

sed -i -e '/PUBLIC SYNONYM/p' myTable.sql
sed -i -e '/PUBLIC SYNONYM/p' myTable.sql
第二部分介绍两个搜索和替换命令:

sed -i -e '0,/PUBLIC SYNONYM/s/PUBLIC SYNONYM /SYNONYM SCHEMA2./' myTable.sql
sed -i -e '0,/PUBLIC SYNONYM/s/PUBLIC SYNONYM /SYNONYM SCHEMA3./' myTable.sql
sed -i -e '0,/PUBLIC SYNONYM/s/PUBLIC SYNONYM /SYNONYM SCHEMA2./' myTable.sql
sed -i -e '0,/PUBLIC SYNONYM/s/PUBLIC SYNONYM /SYNONYM SCHEMA3./' myTable.sql
我认为我的问题已经得到答复。如果您发现有更有效的方法,请随时回复。干杯