Read line based on character,

Hi Experts,

I have called file1.txt contains below

CREATE TABLE "IHUBDEV2"."TLM_BREAK_RULES"
   (    "OID" VARCHAR2(32) NOT NULL ENABLE,
        "TLM_PAY_CLASS_OID" VARCHAR2(32) NOT NULL ENABLE,
        "PUNCHED_BREAKS" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE,
        "NORMAL_BREAKS" VARCHAR2(32),
        "MODIFIED_ON" DATE DEFAULT SYSDATE NOT NULL ENABLE,
         CONSTRAINT "PK_TLM_BREAK_RULES" PRIMARY KEY ("OID")
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "DATA1"  ENABLE,
         CONSTRAINT "FK1_TLM_BREAK_RULES" FOREIGN KEY ("TLM_PAY_CLASS_OID")
          REFERENCES "IHUBDEV2"."TLM_PAY_CLASS" ("OID") ENABLE
   ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "DATA1"

Now i want to read line based on ",". I want to treat as one line based on ",".

Please let me how to do it.

Thanks
Naree

possibly easiest just to munge your file so it is in the format you want e.g.:

#   echo $(cat infile) | sed 's/,/,%/g' | tr "%" "\n"
CREATE TABLE "IHUBDEV2"."TLM_BREAK_RULES" ( "OID" VARCHAR2(32) NOT NULL ENABLE,
 "TLM_PAY_CLASS_OID" VARCHAR2(32) NOT NULL ENABLE,
 "PUNCHED_BREAKS" NUMBER(1,
0) DEFAULT 0 NOT NULL ENABLE,
 "NORMAL_BREAKS" VARCHAR2(32),
 "MODIFIED_ON" DATE DEFAULT SYSDATE NOT NULL ENABLE,
 CONSTRAINT "PK_TLM_BREAK_RULES" PRIMARY KEY ("OID") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "DATA1" ENABLE,
 CONSTRAINT "FK1_TLM_BREAK_RULES" FOREIGN KEY ("TLM_PAY_CLASS_OID") REFERENCES "IHUBDEV2"."TLM_PAY_CLASS" ("OID") ENABLE ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "DATA1"

And then you can read line by line...

HTH

I don't know if this is what you need:

tr -s "\n" " " < FICHERO_IN| awk -F, '{for (i=1;i<=NF;i++)print $i}'

You already ignored 2 times infractions to use code tags. If you collect more infractions you will be banned when you reach 30 points. If you enjoy this forum, change your behaviour maybe and read&obeye the mails you get/got with these infractions.

Not sure if I totally understood; nevertheless with GNU sed:

$> sed -e :a -e '/,$/ {N; s/ *\n */ /}; ta' infile
CREATE TABLE "IHUBDEV2"."TLM_BREAK_RULES"
   (    "OID" VARCHAR2(32) NOT NULL ENABLE, "TLM_PAY_CLASS_OID" VARCHAR2(32) NOT NULL ENABLE, "PUNCHED_BREAKS" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, "NORMAL_BREAKS" VARCHAR2(32), "MODIFIED_ON" DATE DEFAULT SYSDATE NOT NULL ENABLE, CONSTRAINT "PK_TLM_BREAK_RULES" PRIMARY KEY ("OID")
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "DATA1"  ENABLE, CONSTRAINT "FK1_TLM_BREAK_RULES" FOREIGN KEY ("TLM_PAY_CLASS_OID")
          REFERENCES "IHUBDEV2"."TLM_PAY_CLASS" ("OID") ENABLE
   ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "DATA1"