Hi I have something like this:
EXAMPLE 1
CREATE UNIQUE INDEX "STRING_1"."STRING_2" ON "BOSNI_CAB_EVENTO"
("CD_EVENTO" , "CD_EJECUCION" ) PCTFREE 10 INITRANS 2 MAXTRANS 255
STORAGE(INITIAL 5242880 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "DB1000_INDICES_512K" NOLOGGING ;
EXAMPLE 2
CREATE UNIQUE INDEX "STRING_1"."PK_DM_CALIFICACION_EVENTO" ON
"DM_CALIFICACION_EVENTO" ("CD_CALIF_EVENTO" ) PCTFREE 10 INITRANS 2
MAXTRANS 255 STORAGE(INITIAL 131072 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT) TABLESPACE "SIMEM_INDICES_128K" LOGGING ;
I need to extract just the STRING_1 and STRING_2 between INDEX and ON.
Thanks a lot, I have been playing with this for a lot time and I'm really tired.
How about this:
$ sed -n 's/.* INDEX \(.*\) ON.*/\1/p' infile
"STRING_1"."STRING_2"
"STRING_1"."PK_DM_CALIFICACION_EVENTO"
$ nawk -F"INDEX | ON" ' /INDEX.*ON/ {print $2}' test
"STRING_1"."STRING_2"
"STRING_1"."PK_DM_CALIFICACION_EVENTO"
$ cat test
CREATE UNIQUE INDEX "STRING_1"."STRING_2" ON "BOSNI_CAB_EVENTO"
("CD_EVENTO" , "CD_EJECUCION" ) PCTFREE 10 INITRANS 2 MAXTRANS 255
STORAGE(INITIAL 5242880 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "DB1000_INDICES_512K" NOLOGGING ;
CREATE UNIQUE INDEX "STRING_1"."PK_DM_CALIFICACION_EVENTO" ON
"DM_CALIFICACION_EVENTO" ("CD_CALIF_EVENTO" ) PCTFREE 10 INITRANS 2
MAXTRANS 255 STORAGE(INITIAL 131072 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT) TABLESPACE "SIMEM_INDICES_128K" LOGGING ;
Thanks guys I think both solutions worked ... You are really great!!
Alternate Sed..
sed 's/.*INDEX //;s/ ON.*$//p;d' inputfile