How to find a phrase and pull all lines that follow until the phrase occurs again?

Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to find a phrase and pull all lines that follow until the phrase occurs again?
# 1  
Old 08-28-2013
How to find a phrase and pull all lines that follow until the phrase occurs again?

I want to burst a report by using the page number value in the report header. Each section starts with
*PAGE NO:* 1

Each section might have several pages, but the next section always starts back at 1.

So I want to find the "*PAGE NO:* 1" value and pull all lines that follow until "*PAGE NO:* 1" appears again.

I've tried using awk search for the phrase and pull newline characters but I can't rely on a set number of lines that follow the phrase.

Thank you!

# 2  
Old 08-28-2013
I don't know the format of the file you're trying to parse or any other info, but this sed command can grab the lines between two given patterns (excluding said patterns):

sed -n '/<pattern1>/,/<pattern2>/{//!p};'

# 3  
Old 08-28-2013
awk '/PAGE NO:\* 1$/ { P=!P ; next } P' inputfile > outputfile

# 4  
Old 08-28-2013
Yeah, I've been a bit cryptic with what's in the file as it has mostly confidential data. It would take some effort to redact. Anyway, I've tried both replies here with no luck. The sed suggestion produces a parsing error and the awk returns no data. I'm running /usr/bin/sh on hp-ux.

The number that I want to search between is in the last column of the report header. If I use the following code I can see the numbers change, but I don't know how to grab the lines in between. Thank you.
grep 'PAGE NO:' reportfile | awk '{ print $NF }'

# 5  
Old 08-28-2013
You probably just need to tweak the awk version's regex until it starts matching the "page number" lines. We can't do that for you, since you can't post the data...
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

awk help: how to pull phrase and one column from line above?

Hi everyone, Here's my awk statement so far: awk '/TOTAL TYPE:/{print x;print};{x=$0}' file1 >file2 'file1' has too much proprietary data in it to include here, so let's go with the output from code above. It looks like this: 123456 JAMES T KIRK D ... (2 Replies)
Discussion started by: Scottie1954
2 Replies

2. Shell Programming and Scripting

regarding about the (/) in the phrase

Hello, I am trying to print lines from a text file using this command gawk '/Filename:/' 11.rtf >> 22.rtf and it work ok. but if the phrase has included forward (/) something like that gawk '/File/name:/' 11.rtf >> 22.rtf it give error . so is there any manipulation when it... (1 Reply)
Discussion started by: davidkhan
1 Replies

3. Shell Programming and Scripting

Extracting line matching a phrase and then the next lines after it

Hi all, I was wondering if someone could tell me a way to extract from a file lines where you search for a phrase and then also extract the next X lines after it (i.e. take a block of text from the file)? Example { id=123 time=10:00:00 date=12/12/09 { ........ ... (6 Replies)
Discussion started by: muay_tb
6 Replies

4. Shell Programming and Scripting

Getting 15 characters after search phrase

I have data that looks like this: 2002 140 40800.0060 GPS 20 C1 25477810.2305 2002 140 41100.0060 GPS 20 C1 25298056.0453 I need to get data after certain pattern.. for example if i search for C1 it should return 25477810.2305 25298056.0453 To achieve this, it should: ... (3 Replies)
Discussion started by: bfr
3 Replies

5. Shell Programming and Scripting

Shell script to find longest phrase

Hi Everyone, I am trying to write a shell script that can find the longest phrase that appears at least twice in an online news article. The HTML has been parsed through an HTML parser, converted to XML and the article content extracted. I have put this article content in a text file to work... (24 Replies)
Discussion started by: stargazerr
24 Replies

6. Shell Programming and Scripting

find PHRASE and PATH

I've got a script which finds *.txt files in directories and subdirectories after providing the path by the user and then searches in the files for phrase given by the user How to write script in such way that the paths to the found *.txt files and the phrase given by the user were both... (2 Replies)
Discussion started by: patrykxes
2 Replies

7. Shell Programming and Scripting

convert phrase

I am converting a mysql database from myIsam to innodb. After dumping all databases to a file, I am trying to make modification: sed s/ENGINE=MyISAM/ENGINE=InnoDB/ dump_1 > dump_1_inno however, when I import the modified dump file to mysql server, I got error: ERROR 1214 (HY000) at line... (4 Replies)
Discussion started by: fredao
4 Replies

8. Shell Programming and Scripting

match a phrase

Hi, I have a these sentences. $sent1="Transactivation of wound-responsive genes containing the core sequence of the auxin-responsive element by a wound-induced protein kinase-activated transcription factor in tobacco plants."; $sent2="I branching formation in erythroid differentiation is... (4 Replies)
Discussion started by: vanitham
4 Replies

9. Shell Programming and Scripting

Dont Know How to Phrase the Title

Ok i have an expect script that logs into an appliance kinda like a Cisco router, runs a command, and I need to get some calculation out of the output of that command. The reason I have to use an expect script is the data I am trying to harvest does not have an SNMP variable assigned to it. I... (1 Reply)
Discussion started by: barney34
1 Replies
Login or Register to Ask a Question