我有一个创建表脚本(外部表)。我想将表名替换为EXT_ [原始表的前27个字符]
示例I / P文件
CREATE TABLE "EXT_P12345678912345678912345678"
(
"PARTITION_KEY" VARCHAR2(12),
"ID" VARCHAR2(100),
"STRESS_TESTING_SCENARIO_ID" VARCHAR2(100),
"TRANCHE_COLLATERAL_TYPE" VARCHAR2(20),
"TRANCHE_GUARANTEE_TYPE" VARCHAR2(20),
"BS_TYPE" VARCHAR2(3),
"CONTRACT_REFERENCE" VARCHAR2(50),
预期O / p
LoginContext loginContext = new LoginContext("CONTEXTNAME", callbackHandler);
loginContext.login();
return loginContext.getSubject();
该脚本需要在Linux和Solaris上运行。
答案 0 :(得分:0)
这个awk单行程适用于你的例子:
awk -F'"' -v OFS='"' '/CREATE TABLE/{$2=substr($2,1,27);sub("^","EXT_",$2)}7' file