Grep content between specific lines


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Grep content between specific lines
# 8  
Old 09-23-2014
I strongly agree that using awk work can be made easier.

1. shell used: /bin/ksh

2. only basic functions using awk can be allowed
Code:
 eg; awk -F\t '{print $0 }'

.
(as per coding standards.

3. sed can be used.

4. Only lines between segments/tables needs (few initial lines should be avoided) - *FileHeader*

5.why do you want to the last two segments to the same file (its a typo, table names unique).

Hence I was trying to create the script. I shouldn't post actual contents.

In my previous post itself, I tried to explain same and posted things I tried.

Don Cragun replied that its a school work (His assumption).

Last edited by Veera_V; 09-23-2014 at 10:12 AM..
# 9  
Old 09-23-2014
I never said that your request was school work; I asked if it was school work because the constraints you placed on solutions are highly unusual. (And, even though you later decided that you could use sed, your first post said we were not allowed to use awk or sed.) If I had decided that this was homework, I would have issued an infraction and closed the thread (as I did for two other threads yesterday)!

The following should run several orders of magnitude faster than the fragments you showed us before. Not only does it avoid both awk and sed, it does not use anything but ksh built-ins. For small files, this will probably even run faster than using awk:
Code:
#!/bin/ksh
fc=0
fn=/dev/null
while IFS='' read -r line
do      if [ "${line#*PRDX22}" != "$line" ]
        then    fc=$((fc + 1))
                fn=SCHEMA.TABLE$fc
                > $fn
        fi
        printf '%s\n' "$line" >> $fn
done < file1

With the original input you provided in your 1st post, it produces three output files:
SCHEMA.TABLE1:
Code:
PRDX22.AUDIT_DATA_INFO                          Partition 4
Total Data Bytes              4615
  Avg Bytes/Record             100
Delete                          11
Insert                          35
Before Images                   11
After Images                    35

SCHEMA.TABLE2:
Code:
PRDX22.AUDIT_TRAIL                              Partition 4
Total Data Bytes             12317
  Avg Bytes/Record             362
Delete                           4
Insert                          30
Before Images                    4
After Images                    30

and SCHEMA.TABLE3:
Code:
PRDX22.CONTACT                                  Partition 4
Total Data Bytes             21252
  Avg Bytes/Record             442
Insert                           1
FieldComp                       47
After Images                    48

Since you still haven't shown us any sample output, and the data you have shown us in various posts obviously does not come from a single sample input, I have no confidence that this is close to what you want; but it is the best I can do with the data you have provided.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Grep specific lines

Hello I have a file with nearly 90000 lines in x,y,z format but have some lines that I do not need to show. Is there anyway to delete those 3 lines after every 288 lines. Eg I keep the first 288 lines delete (289, 290 291); keep the next 288 lines after those and so on... Thanks (6 Replies)
Discussion started by: Madiouma Ndiaye
6 Replies

2. Shell Programming and Scripting

Display specific lines content from the file

Hell, I want to grep certain word from file and display above 2 lines and after two lines. Here is the content of sample file. Mar 14, 2013 12:56:59 AM Agent.Agent SendTo INFO: Connection to server:7041 - Credential Transmit Successesful Mar 14, 2013 8:54:21 AM cgent SendTo WARNING:... (7 Replies)
Discussion started by: balareddy
7 Replies

3. Shell Programming and Scripting

Grep all lines for a specific date in log-files

I need to grep all lines for "yesterday" in /var/log/messages. Dates are in the format "YYYY-MM-DD". (5 Replies)
Discussion started by: Padmanabhan
5 Replies

4. Shell Programming and Scripting

grep the output between specific lines

Symmetrix ID : 00000001234 Host Name : myown Identifiers Found : 5000000000000000 5000000000000001 Device Cap(MB) Attr Dir:P ------ ------- ---- ---- 1234 25886 (M) 8D:1, 9D:1 0123 25886 (M) 8D:1, 9D:1 1345 25886 (M) ... (5 Replies)
Discussion started by: maddy.san
5 Replies

5. Shell Programming and Scripting

Grep only specific lines ordered by column/date

Hi everybody, I'd like to think I've been through the search tool not only on this site, but also on google too, but I haven't been able to find what I was looking for. If I might've missed something on this forum, please slap me in the face with a link that you consider useful for my query :D ... (4 Replies)
Discussion started by: dilibau
4 Replies

6. Shell Programming and Scripting

Problems to print specific lines with awk and grep...HELP!

Hi all I have data like this: model: 1, misfit value: 0.74987 1 1.182 1.735 2.056 1.867 2 0.503 1.843 2.018 1.888 3 2.706 2.952 2.979 1.882 4 8.015 3.414 3.675 1.874 ... (1 Reply)
Discussion started by: fedora2011
1 Replies

7. Shell Programming and Scripting

Extracting specific lines of data from a file and related lines of data based on a grep value range?

Hi, I have one file, say file 1, that has data like below where 19900107 is the date, 19900107 12 144 129 0.7380047 19900108 12 168 129 0.3149017 19900109 12 192 129 3.2766666E-02 ... (3 Replies)
Discussion started by: Wynner
3 Replies

8. UNIX Desktop Questions & Answers

grep lines with two specific characters somewhere in the line

I'm having trouble with extracting certain lines from a file based on whether they have all the required fields. Original file: snt:594:Sam N This bpt:2342:Bob P That lr:123 wrp:23:Whoever Person cor:794 Desired output: snt:594:Sam N This bpt:2342:Bob P That wrp:23:Whoever Person ... (3 Replies)
Discussion started by: Chthonic
3 Replies

9. Shell Programming and Scripting

retrieving specific lines from a file - can I use grep ?

Hi there, if i had a file that looked like this my_server1 red green blue yellow blue my_server2 blue blue yellow green blue my_server3 yellow (9 Replies)
Discussion started by: hcclnoodles
9 Replies

10. Shell Programming and Scripting

Retreive content between specific lines ina file

Hi I have a text file which has two sets of lines repeating for "n" number of times.Some data is printed between the two lines.I want to retrieve all the data thats there in between those two set of lines.I have the string value of those two set of lines. To be much more clearer ... (4 Replies)
Discussion started by: chennaitomcruis
4 Replies
Login or Register to Ask a Question