searching for a pattern in a file and forwarding result to another


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users searching for a pattern in a file and forwarding result to another
# 1  
Old 01-22-2007
searching for a pattern in a file and forwarding result to another

Hi,

I am trying to search through a file for a particular word, then once found, I want the search to carry on for another 30 lines and append all this to a new file. For example, I search for the word "test" in hello.txt:

<--some code-->
<--some code-->
<--some code-->
test
<--some more code for 30 more lines-->

So, here I would want the search to find "test" and the next 30 lines, and the append the results to a new file. I know it will be something along the lines of:

cat hello.txt | grep "test" > results.txt

but not sure how to get it to include the other 30 lines...

thanks
# 2  
Old 01-22-2007
search for word and next 30 lines then put in file

Hi,

I am trying to search through a file for a particular word, then once found, I want the search to carry on for another 30 lines and append all this to a new file. For example, I search for the word "test" in hello.txt:

<--some code-->
<--some code-->
<--some code-->
test
<--some more code for 30 more lines-->

So, here I would want the search to find "test" and the next 30 lines, and the append the results to a new file. I know it will be something along the lines of:

cat hello.txt | grep "test" > results.txt

but not sure how to get it to include the other 30 lines...

thanks
# 3  
Old 01-22-2007
Code:
awk ' /THIS/{ print;x=1;while( x++ <= 30 ) { getline;print } exit; } ' file > newfile

# 4  
Old 01-22-2007
Code:
#! /opt/third-party/bin//perl

open(FILE, "<$ARGV[0]") || die "Unable to open file $ARGV[0] <$!> \n";
open(OUTPUTFILE, ">$ARGV[1]") || die "Unable to open file $ARGV[1] <$!> \n";

my ($searchword, $content, $lines, $set);

$searchword = $ARGV[2];
$set = 0;
while( chomp($content = <FILE>) ) {
  if( $content =~ m/$searchword/ ) {
    $set = 1;
    print OUTPUTFILE $content;
    print OUTPUTFILE "\n";
  }
  if ( $lines > 30 ) {
    last;
  }
  if( $set == 1 ) {
    $lines++;
  }
}

close(FILE);
close(OUTPUTFILE);

exit 0

# 5  
Old 01-22-2007
# 6  
Old 01-22-2007
Threads Merged.
# 7  
Old 01-22-2007
anbu23:

i cant get that bit of code to run, are you sure thats correct? Also by "/THIS/" are you referring to the search string?

thanks
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Searching for a pattern from filenames stored in a file

Hi, I have got some 10 filenames stored in a file or displayed in the console as a result of some query i made.. Now I need to open each of these files and search for a pattern in these 10 files.. Can someone help me with this? Thanks, Jean (9 Replies)
Discussion started by: jeanjkj
9 Replies

2. Shell Programming and Scripting

Remove the footer from a flat file by searching a pattern

Hi, I have more than 30,000 records in a flat file. I want to remove footer from the file by searching a string pattern for the footer. Example.... let the flat file test.dat contains below records. record1 record2 record3 .. .. .. record31000 Total records 31000 I want to remove the... (6 Replies)
Discussion started by: gani_85
6 Replies

3. Shell Programming and Scripting

Searching for a pattern in a file...

The problem is similar to my yesterday post I Would like an awk script that does the following: I have a file (f1) that contains 1 2 3 4 5and another one (f2) that contains 8|a 9|b 0|c 1|d 2|e 3|f 4|g 5|h 6|i 7|jAnd I'd like to get this: 1|d 2|e 3|f 4|g (5 Replies)
Discussion started by: tukuyomi
5 Replies

4. UNIX for Dummies Questions & Answers

Searching the date pattern in a file

Hi, I would like to search the pattern based on the date like "2010/08/15". I tried using / in the file giving /<<pattern>>. when i tried this it turns to /2010/+8, but not going to the pattern what ever i want. This is how the data in the file. INFO | jvm 1 | 2010/05/26 13:30:33... (5 Replies)
Discussion started by: venkatesht
5 Replies

5. Shell Programming and Scripting

Searching a pattern in a file.

Hi Guys, I am writing a shell script to extract only the error message from a log file. I am having difficulty in searching the highlighted text in the below code. <runtimeinfo datetime="Sun Apr 04 20:02:52 EDT 2008" docid="" source="RAWDATA" event="ERROR"... (2 Replies)
Discussion started by: prash1986
2 Replies

6. Shell Programming and Scripting

Searching a pattern in file and deleting th ewhole line containing the pattern

Hi All, Please can someone assist in the script I have made that searches a pattern in a file and delete the whole line containing the pattern. #!bin/sh # The pattern that user want to add to the files echo "Enter the pattern of the redirect" read value # check if the user has... (1 Reply)
Discussion started by: Shazin
1 Replies

7. Shell Programming and Scripting

Searching words in a file containing a pattern

Hi all, I would like to print words in a file seperated by whitespaces containing a specific pattern like "=" e.g. I have a file1 containing strings like %cat file1 The= some= in wish= born <eof> .I want to display only those words containing = i.e The= , some=,wish= ... (5 Replies)
Discussion started by: sree_123
5 Replies

8. UNIX for Advanced & Expert Users

searching one pattern in file and also counting

Hi, everybody this is my pattern in a file thomson, nicolas 5-3871 Wong, Fred 4-4123 Jones, Thomas 1-4122 Salazar, Richard 5-2522 first name and last names of people fallowed by Tele. while i am searching for pattern first name begin with 'S'... (8 Replies)
Discussion started by: ksr.test
8 Replies

9. Shell Programming and Scripting

extract x lines after a pattern - place each result in separate file

Hi all, I have many files that have 1 or more occurrences of the information I want. There are two distinct sets of information. I want get this info and place each occurrence in its own file. The 3 lines before one set are this grid 00 01 02 16 17 18 **40 lines of code I want to... (5 Replies)
Discussion started by: gobi
5 Replies

10. Shell Programming and Scripting

searching pattern in another file and print

Suppose u have a file 12 22 73 another file L22D SSS S12J LLL H77K PPP J25O LOP I73S lOP K99O PLO so output shud like S12J LLL L22D SSS I73S lOP Thanks (2 Replies)
Discussion started by: cdfd123
2 Replies
Login or Register to Ask a Question