Extract a block of text

Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Extract a block of text
# 1  
Old 03-07-2013
Extract a block of text

Hello all,

I am working on a script which should parse a large file called input.txt which contains table definitions, index definitions and comments like these ones:

-- DDL Statements for table "CMWSYS"."CMWD_TEC_SUIVI_TRT"

          "ORDER_ID" VARCHAR(20) , 
          "PERIODE_DATE" VARCHAR(50) , 
          "NOM_JOB" VARCHAR(100) , 
          "D_START" TIMESTAMP , 
          "D_END" TIMESTAMP , 
          "T_ELAPSED" TIME , 
          "STATUS" VARCHAR(50) )   
         IN "CMW_DA16DN01" INDEX IN "CMW_IX16DN01" ;


          "CD_SSE_3EME_CAR" CHAR(1) NOT NULL , 
          "CD_TYP_PERS" CHAR(3) NOT NULL , 
          "DT_VAL_DEB" DATE , 
          "DT_VAL_FIN" DATE , 
          "TOP_COURANT" CHAR(1) , 
          "TOP_ANNUL" CHAR(1) , 
          "DT_MAJ_ETL" TIMESTAMP )   
         IN "DIM_DA16DN01" INDEX IN "DIM_IX16DN01" ; 



The script should extract each table definition in one separate file (normal txt file) called dbname_tablename.txt. The "dbname" is the first word in the quotation marks after CREATE TABLE statement and the "tablename" is the string characters included in quotation marks after the '.' sign (for this case CMWSYS_CMWD_TEC_SUIVI_TRT or CMWSYS_CMWD_REF_MARCHE_AFFECTATION). All the others definitions (indexes) and the comments should be ignored..

Do you have any idea how I can manage this task? I still have no result with my humble script I am working at.


Last edited by Scrutinizer; 03-07-2013 at 08:32 AM.. Reason: code tags (AGAIN)
# 2  
Old 03-07-2013
If you don't provide more clue about the expected format's result, i am afraid people won't be able to help you much.
# 3  
Old 03-07-2013
Extract a block of text

I edited the description and I guess it should be better now. Thank you, ctsgnb for this observation.
# 4  
Old 03-07-2013
Depending on your Database, some specific tool should exist to perform such kind of task. I think you should consider this approach rather than "reinventing the wheel"
# 5  
Old 03-07-2013
Extract a block of text

I do not intend to reinvent the wheel, but to find a useful tool to make this conversion. I found some tools, but all of them are not free of use, unless you pay for the license.
# 6  
Old 03-07-2013
Could you show a larger sample? Telling where the definitions begin and end can be awkward unless they all begin the same way, with a comment...

You can use awk for this though, I'm pretty sure. It has a "block" mode, where it can read entire sections delimited by blank lines.
# 7  
Old 03-07-2013
Extract a block of text

Attached you will find the input.txt file containing all the table definitions.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Grepping text block by block by using for loop

Hei buddies, Need ur help once again. I have a file which has bunch of lines which starts from a fixed pattern and ends with another fixed pattern. I want to make use of these fixed starting and ending patterns to select the bunch, one at a time. The input file is as follows. Hi welcome... (12 Replies)
Discussion started by: anushree.a
12 Replies

2. Shell Programming and Scripting

How to extract block from a file?

I have siebel log file as following EventContext ....... 123 ....... SELECT ... .. EventConext <---- Question 1 , I should get this line 345 ...... SELECT <----- Question 2 , print this line Test..... <----- Question 2 , print this line .... <----- Question 2 , print... (5 Replies)
Discussion started by: ran123
5 Replies

3. Shell Programming and Scripting

[Awk] Extract block of with a particular pattern

Hi, I have some CVS log files, which are divided into blocks. Each block has many fields of information and I want to extract those blocks with a pattern. Here is the sample input. RCS file: /cvsroot/eclipse/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugPlugin.java,v head: 1.174... (7 Replies)
Discussion started by: sandeepk1611
7 Replies

4. Shell Programming and Scripting

Extract a block of text??

Hello all, I have a large output file from which I would like to extract a single block of text. An example block of text is shown below: ***** EQUILIBRIUM GEOMETRY LOCATED ***** COORDINATES OF ALL ATOMS ARE (ANGS) ATOM CHARGE X Y Z ... (10 Replies)
Discussion started by: marcozd
10 Replies

5. Shell Programming and Scripting

Extract selective block from XML file

Hi, There's an xml file produced from a front-end tool as shown below: <INPUT DATABASE ="ORACLE" DBNAME ="UNIX" NAME ="FACT_TABLE" OWNERNAME ="DIPS"> <INPUTFIELD DATATYPE ="double" DEFAULTVALUE ="" DESCRIPTION ="" NAME ="STORE_KEY" PICTURETEXT ="" PORTTYPE ="INPUT" PRECISION ="15" SCALE... (6 Replies)
Discussion started by: dips_ag
6 Replies

6. Shell Programming and Scripting

Extract value from a text

Hi all, my problem is extract a value from a text, i mean, I have this text: > ala Nr of active alarms are: 16 ================================================================================================ Sever Specific Problem Cause Mo-Reference... (15 Replies)
Discussion started by: marimovo
15 Replies

7. Shell Programming and Scripting

Extract block of data and the error reason too. So so urgent

Hi , this is my first enty in our forum. Problem scenario: Using informatica tool am loding records from source DB to target DB. While loading some records getting rejected due to some reason. Informatica will capture those rejected records in session log file.now the session log ll be... (2 Replies)
Discussion started by: Gopal_Engg
2 Replies

8. Shell Programming and Scripting

Extract particular text

I executed a following sed command => echo "a/b/c/d/e/f/g/h" | sed 's/\/*$//g' a/b/c/d/e/f/g Now what if I want to extract "g" from "a/b/c/d/e/f/g/h" . That is second last string using SED. (4 Replies)
Discussion started by: Shell_Learner
4 Replies

9. Programming

c program to extract text between two delimiters from some text file

needa c program to extract text between two delimiters from some text file. and then storing them in to diffrent variables ? text file like 0: abc.txt ========= aaaaaa|11111111|sssssssssss|333333|ddddddddd|34343454564|asass aaaaaa|11111111|sssssssssss|333333|ddddddddd|34343454564|asass... (7 Replies)
Discussion started by: kukretiabhi13
7 Replies

10. UNIX for Dummies Questions & Answers

extract block in file

I need to extract a particular block from a file whose locations are not known but the only identity is a word. For example in a file I have ABC asdklf asdfk FGH dfdfg asdlfk asdfl ... JHK (5 Replies)
Discussion started by: sskb
5 Replies
Login or Register to Ask a Question

Featured Tech Videos