Extract a paragraph

Hi ,
Unix.com has been life saver for me I admit :slight_smile:
I am trying to extract a paragraph based on matching pattern "CREATE TABLE " from a ddl file . The paragraphs are seperated by blank line .

Input file is

#cat zip.20080604.sql1
CONNECT TO TST103

SET SESSION_USER OPSDM002

SET CURRENT SCHEMA OPSDM002

CREATE TABLE "OPSDM002"."DIM_ZIP" (
"ZIP_CD" CHAR(5) NOT NULL ,
"ZIP_TYP_SRC_CD" CHAR(1) NOT NULL ,
"ZIP_TYP_CD" CHAR(1) NOT NULL ,
"ZIP_ROW_END_DT" DATE NOT NULL ,
"ZIP_ROW_EFF_DT" DATE NOT NULL ,
"ZIP_LST_2_CD" CHAR(2) NOT NULL ,
"ZIP_FST_3_CD" CHAR(3) NOT NULL ,
"UPDT_DT" DATE NOT NULL WITH DEFAULT CURRENT DATE ,
"ST_NUM_CD" CHAR(2) NOT NULL ,
"ST_ABBR_CD" CHAR(2) NOT NULL ,
"PST_CNTY_NM" VARCHAR(25) NOT NULL ,
"PST_CNTY_CD" CHAR(3) NOT NULL ,
"LOAD_DT" DATE NOT NULL WITH DEFAULT CURRENT DATE ,
"HCFA_CNTY_NM" VARCHAR(30) NOT NULL ,
"HCFA_CNTY_CD" CHAR(4) NOT NULL ,
"CTY_NM" VARCHAR(28) NOT NULL )
COMPRESS YES
IN "TSOPS03" INDEX IN "TSOPIX03"

CREATE INDEX "OPSDM002"."IDX1_ST_CD" ON "OPSDM002"."DIM_ZIP"
("ST_ABBR_CD" ASC)
ALLOW REVERSE SCANS

CREATE UNIQUE INDEX "OPSDM002"."PK1_ZIP_CD" ON "OPSDM002"."DIM_ZIP"
("ZIP_CD" ASC)
CLUSTER ALLOW REVERSE SCANS

ALTER TABLE "OPSDM002"."DIM_ZIP"
ADD CONSTRAINT "PK1_ZIP_CD" PRIMARY KEY
("ZIP_CD")

CREATE ALIAS "OPSDM002"."ZIP" FOR "OPSDM002"."DIM_ZIP"

CREATE VIEW "OPSDM002"."ZIP_CUSTOMER_SEGMENT" ("CUST_ZIP_CD", "CUST_CTY_NM",
"CUST_HCFA_CNTY_CD", "CUST_HCFA_CNTY_NM", "CUST_PST_CNTY_CD", "CUST_PST_CNTY_NM",
"CUST_ST_ABBR_CD", "CUST_ST_NUM_CD", "CUST_ZIP_FST_3_CD", "CUST_ZIP_LST_2_CD",
"CUST_ZIP_ROW_EFF_DT", "CUST_ZIP_ROW_END_DT", "CUST_ZIP_TYP_CD", "CUST_ZIP_TYP_SRC_CD",
"LOAD_DT", "UPDT_DT") AS SELECT DIM_ZIP.ZIP_CD, DIM_ZIP.CTY_NM, DIM_ZIP.HCFA_CNTY_CD,
DIM_ZIP.HCFA_CNTY_NM, DIM_ZIP.PST_CNTY_CD, DIM_ZIP.PST_CNTY_NM, DIM_ZIP.ST_ABBR_CD,
DIM_ZIP.ST_NUM_CD, DIM_ZIP.ZIP_FST_3_CD, DIM_ZIP.ZIP_LST_2_CD, DIM_ZIP.ZIP_ROW_EFF_DT,
DIM_ZIP.ZIP_ROW_END_DT, DIM_ZIP.ZIP_TYP_CD, DIM_ZIP.ZIP_TYP_SRC_CD, DIM_ZIP.LOAD_DT,
DIM_ZIP.UPDT_DT FROM DIM_ZIP

CREATE VIEW "OPSDM002"."ZIP_MEMBER" ("MBR_ZIP_CD", "MBR_CTY_NM", "MBR_HCFA_CNTY_CD",
"MBR_HCFA_CNTY_NM", "MBR_PST_CNTY_CD", "MBR_PST_CNTY_NM", "MBR_ST_ABBR_CD",
"MBR_ST_NUM_CD", "MBR_ZIP_FST_3_CD", "MBR_ZIP_LST_2_CD", "MBR_ZIP_ROW_EFF_DT",
"MBR_ZIP_ROW_END_DT", "MBR_ZIP_TYP_CD", "MBR_ZIP_TYP_SRC_CD", "LOAD_DT",
"UPDT_DT") AS SELECT DIM_ZIP.ZIP_CD, DIM_ZIP.CTY_NM, DIM_ZIP.HCFA_CNTY_CD,
DIM_ZIP.HCFA_CNTY_NM, DIM_ZIP.PST_CNTY_CD, DIM_ZIP.PST_CNTY_NM, DIM_ZIP.ST_ABBR_CD,
DIM_ZIP.ST_NUM_CD, DIM_ZIP.ZIP_FST_3_CD, DIM_ZIP.ZIP_LST_2_CD, DIM_ZIP.ZIP_ROW_EFF_DT,
DIM_ZIP.ZIP_ROW_END_DT, DIM_ZIP.ZIP_TYP_CD, DIM_ZIP.ZIP_TYP_SRC_CD, DIM_ZIP.LOAD_DT,
DIM_ZIP.UPDT_DT FROM DIM_ZIP

CREATE VIEW "OPSDM002"."ZIP_PROVIDER" ("PROV_ZIP_CD", "PROV_CTY_NM", "PROV_HCFA_CNTY_CD",
"PROV_HCFA_CNTY_NM", "PROV_PST_CNTY_CD", "PROV_PST_CNTY_NM", "PROV_ST_ABBR_CD",
"PROV_ST_NUM_CD", "PROV_ZIP_FST_3_CD", "PROV_ZIP_LST_2_CD", "PROV_ZIP_ROW_EFF_DT",
"PROV_ZIP_ROW_END_DT", "PROV_ZIP_TYP_CD", "PROV_ZIP_TYP_SRC_CD", "LOAD_DT",
"UPDT_DT") AS SELECT DIM_ZIP.ZIP_CD, DIM_ZIP.CTY_NM, DIM_ZIP.HCFA_CNTY_CD,
DIM_ZIP.HCFA_CNTY_NM, DIM_ZIP.PST_CNTY_CD, DIM_ZIP.PST_CNTY_NM, DIM_ZIP.ST_ABBR_CD,
DIM_ZIP.ST_NUM_CD, DIM_ZIP.ZIP_FST_3_CD, DIM_ZIP.ZIP_LST_2_CD, DIM_ZIP.ZIP_ROW_EFF_DT,
DIM_ZIP.ZIP_ROW_END_DT, DIM_ZIP.ZIP_TYP_CD, DIM_ZIP.ZIP_TYP_SRC_CD, DIM_ZIP.LOAD_DT,
DIM_ZIP.UPDT_DT FROM DIM_ZIP

CREATE VIEW "OPSDM002"."ZIP_PROVIDER_MBR_PRI" ("MBR_PRI_PROV_ZIP_CD", "MBR_PRI_CTY_NM",
"MBR_PRI_HCFA_CNTY_CD", "MBR_PRI_HCFA_CNTY_NM", "MBR_PRI_PST_CNTY_CD",
"MBR_PRI_PST_CNTY_NM", "MBR_PRI_ST_ABBR_CD", "MBR_PRI_ST_NUM_CD", "MBR_PRI_ZIP_FST_3_CD",
"MBR_PRI_ZIP_LST_2_CD", "MBR_PRI_ZIP_ROW_EFF_DT", "MBR_PRI_ZIP_ROW_END_DT",
"MBR_PRI_ZIP_TYP_CD", "MBR_PRI_ZIP_TYP_SRC_CD", "LOAD_DT", "UPDT_DT") AS
SELECT DIM_ZIP.ZIP_CD, DIM_ZIP.CTY_NM, DIM_ZIP.HCFA_CNTY_CD, DIM_ZIP.HCFA_CNTY_NM,
DIM_ZIP.PST_CNTY_CD, DIM_ZIP.PST_CNTY_NM, DIM_ZIP.ST_ABBR_CD, DIM_ZIP.ST_NUM_CD,
DIM_ZIP.ZIP_FST_3_CD, DIM_ZIP.ZIP_LST_2_CD, DIM_ZIP.ZIP_ROW_EFF_DT, DIM_ZIP.ZIP_ROW_END_DT,
DIM_ZIP.ZIP_TYP_CD, DIM_ZIP.ZIP_TYP_SRC_CD, DIM_ZIP.LOAD_DT, DIM_ZIP.UPDT_DT
FROM DIM_ZIP

CREATE VIEW "OPSDM002"."ZIP_PROVIDER_REF" ("REF_PROV_ZIP_CD", "REF_CTY_NM",
"REF_HCFA_CNTY_CD", "REF_HCFA_CNTY_NM", "REF_PST_CNTY_CD", "REF_PST_CNTY_NM",
"REF_ST_ABBR_CD", "REF_ST_NUM_CD", "REF_ZIP_FST_3_CD", "REF_ZIP_LST_2_CD",
"REF_ZIP_ROW_EFF_DT", "REF_ZIP_ROW_END_DT", "REF_ZIP_TYP_CD", "REF_ZIP_TYP_SRC_CD",
"LOAD_DT", "UPDT_DT") AS SELECT DIM_ZIP.ZIP_CD, DIM_ZIP.CTY_NM, DIM_ZIP.HCFA_CNTY_CD,
DIM_ZIP.HCFA_CNTY_NM, DIM_ZIP.PST_CNTY_CD, DIM_ZIP.PST_CNTY_NM, DIM_ZIP.ST_ABBR_CD,
DIM_ZIP.ST_NUM_CD, DIM_ZIP.ZIP_FST_3_CD, DIM_ZIP.ZIP_LST_2_CD, DIM_ZIP.ZIP_ROW_EFF_DT,
DIM_ZIP.ZIP_ROW_END_DT, DIM_ZIP.ZIP_TYP_CD, DIM_ZIP.ZIP_TYP_SRC_CD, DIM_ZIP.LOAD_DT,
DIM_ZIP.UPDT_DT FROM DIM_ZIP

CREATE VIEW "OPSDM002"."ZIP_PROVIDER_SRVC" ("SRVC_PROV_ZIP_CD", "SRVC_CTY_NM",
"SRVC_HCFA_CNTY_CD", "SRVC_HCFA_CNTY_NM", "SRVC_PST_CNTY_CD", "SRVC_PST_CNTY_NM",
"SRVC_ST_ABBR_CD", "SRVC_ST_NUM_CD", "SRVC_ZIP_FST_3_CD", "SRVC_ZIP_LST_2_CD",
"SRVC_ZIP_ROW_EFF_DT", "SRVC_ZIP_ROW_END_DT", "SRVC_ZIP_TYP_CD", "SRVC_ZIP_TYP_SRC_CD",
"LOAD_DT", "UPDT_DT") AS SELECT DIM_ZIP.ZIP_CD, DIM_ZIP.CTY_NM, DIM_ZIP.HCFA_CNTY_CD,
DIM_ZIP.HCFA_CNTY_NM, DIM_ZIP.PST_CNTY_CD, DIM_ZIP.PST_CNTY_NM, DIM_ZIP.ST_ABBR_CD,
DIM_ZIP.ST_NUM_CD, DIM_ZIP.ZIP_FST_3_CD, DIM_ZIP.ZIP_LST_2_CD, DIM_ZIP.ZIP_ROW_EFF_DT,
DIM_ZIP.ZIP_ROW_END_DT, DIM_ZIP.ZIP_TYP_CD, DIM_ZIP.ZIP_TYP_SRC_CD, DIM_ZIP.LOAD_DT,
DIM_ZIP.UPDT_DT FROM DIM_ZIP

GRANT SELECT ON TABLE "OPSDM002"."DIM_ZIP" TO GROUP "DSDBDEV "

GRANT SELECT ON TABLE "OPSDM002"."DIM_ZIP" TO GROUP "UHCDMTST"

GRANT SELECT ON TABLE "OPSDM002"."DIM_ZIP" TO GROUP "CLOSEL01"

GRANT SELECT ON TABLE "OPSDM002"."DIM_ZIP" TO GROUP "CLOSEL02"

GRANT CONTROL ON TABLE "OPSDM002"."DIM_ZIP" TO GROUP "UHCDMDBA"

GRANT SELECT ON TABLE "OPSDM002"."DIM_ZIP" TO GROUP "CLOSEL04"

GRANT SELECT ON TABLE "OPSDM002"."DIM_ZIP" TO GROUP "CLOSEL05"

GRANT SELECT ON TABLE "OPSDM002"."DIM_ZIP" TO GROUP "SELCOE01"

GRANT CONTROL ON TABLE "OPSDM002"."DIM_ZIP" TO USER "ESHIRLE "

GRANT CONTROL ON TABLE "OPSDM002"."DIM_ZIP" TO USER "SNIETER "

GRANT CONTROL ON TABLE "OPSDM002"."DIM_ZIP" TO USER "LTREXL1 "

GRANT CONTROL ON TABLE "OPSDM002"."DIM_ZIP" TO USER "RSMIT11 "

GRANT CONTROL ON TABLE "OPSDM002"."DIM_ZIP" TO USER "KJOHNS5 "

GRANT CONTROL ON TABLE "OPSDM002"."DIM_ZIP" TO USER "AMENSEY "

COMMIT WORK

CONNECT RESET

TERMINATE

Desired output is

CREATE TABLE "OPSDM002"."DIM_ZIP" (
"ZIP_CD" CHAR(5) NOT NULL ,
"ZIP_TYP_SRC_CD" CHAR(1) NOT NULL ,
"ZIP_TYP_CD" CHAR(1) NOT NULL ,
"ZIP_ROW_END_DT" DATE NOT NULL ,
"ZIP_ROW_EFF_DT" DATE NOT NULL ,
"ZIP_LST_2_CD" CHAR(2) NOT NULL ,
"ZIP_FST_3_CD" CHAR(3) NOT NULL ,
"UPDT_DT" DATE NOT NULL WITH DEFAULT CURRENT DATE ,
"ST_NUM_CD" CHAR(2) NOT NULL ,
"ST_ABBR_CD" CHAR(2) NOT NULL ,
"PST_CNTY_NM" VARCHAR(25) NOT NULL ,
"PST_CNTY_CD" CHAR(3) NOT NULL ,
"LOAD_DT" DATE NOT NULL WITH DEFAULT CURRENT DATE ,
"HCFA_CNTY_NM" VARCHAR(30) NOT NULL ,
"HCFA_CNTY_CD" CHAR(4) NOT NULL ,
"CTY_NM" VARCHAR(28) NOT NULL )
COMPRESS YES
IN "TSOPS03" INDEX IN "TSOPIX03"

Thanks ,

With sed you can print a section between two regular expressions like this:

sed -n '/^CREATE TABLE/,/^IN/p' file

Regards

You ROCK Mr Franklin !