Sponsored Content
Top Forums Shell Programming and Scripting Search file for pattern2 starting from occurence of pattern1 Post 302455708 by sameucho on Wednesday 22nd of September 2010 09:30:09 AM
Old 09-22-2010
Search file for pattern2 starting from occurence of pattern1

Hi folks,

I have a file which contains several occurences of 2 different patterns. I need to find out the line of first occurence of pattern2 starting after the position of first occurence of pattern1.

example file:
Code:
aaaa
pattern2
bbbb
pattern1
ccc
pattern2
ddd
pattern1
eee
pattern2
fff
....

Desired output is 6 - line number of first occurence of pattern2 after the first occurence of pattern1
I intended to use grep with -m option. In the manual page there is mentioned: ...
Quote:
-m NUM, --max-count=NUM
Stop reading a file after NUM matching lines. If the input is standard input from a regular file, and NUM matching lines are
output, grep ensures that the standard input is positioned to just after the last matching line before exiting, regardless of
the presence of trailing context lines. This enables a calling process to resume a search.
... but I don't know how to resume search with pattern2 after using command
Code:
grep -m 1 pattern1 filename

Please help.

Last edited by Franklin52; 09-22-2010 at 10:41 AM.. Reason: Please use code tags, looks much better, no?
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

how to delete text from line starting pattern1 up to line before pattern2?

My data is xml'ish (here is an excerpt) :- <bag name="mybag1" version="1.0"/> <contents id="coins"/> <bag name="mybag2" version="1.1"/> <contents id="clothes"/> <contents id="shoes"/> <bag name="mybag3" version="1.6"/> I want to delete line containing mybag2 and its subsequent... (5 Replies)
Discussion started by: repudi8or
5 Replies

2. Shell Programming and Scripting

grep all lines from PATTERN1 to PATTERN2

Hi! From a file like this one : hello ... PATTERN1 ... lines between patterns .. PATTERN2 ... I would like to extract only the lines between patterns, probably with awk I think? Thanks a lot for your help, Tipi (5 Replies)
Discussion started by: tipi
5 Replies

3. Shell Programming and Scripting

SED Exclude Matches Between Pattern1 And Pattern2 Containing Pattern3 Print The Rest

Hi, From the sample file below Conditions 1) Pattern Range must start with "ALTER TABLE" 2) Pattern Range ends when it finds ";" 3) Between this range i want to select all the patterns that contain pattern " MOVE " Note : I would like to exclude the above pattern matches and print... (1 Reply)
Discussion started by: rajan_san
1 Replies

4. Shell Programming and Scripting

Sed Help.To Search Between Pattern1 And Pattern2 Containing Certain Text

Hi, Here is a sample of my Test File $ cat TestFile1 Prompt Table DQZ_ALTER_SCHEMA_ID; ALTER TABLE DQZ.DQZ_ALTER_SCHEMA_ID MONITORING; ALTER TABLE DQZ.DQZ_ALTER_SCHEMA_ID STORAGE ( NEXT 3464K ); Prompt Table DQZ_ALTER_SCHEMA_ID; ALTER TABLE DQZ.DQZ_ALTER_SCHEMA_ID MOVE LOB... (16 Replies)
Discussion started by: rajan_san
16 Replies

5. Shell Programming and Scripting

How to remove a specific line matching pattern1 and pattern2 ?

Hi, I have a file like below: . . . . Jack is going home Jack is going to school Jack is sleeping Jack is eating dinner John is going home John is eating breakfast . . . The specific line is: Jack is going home (2 Replies)
Discussion started by: salih81
2 Replies

6. Shell Programming and Scripting

delete part of file from pattern1 to pattern2

Hi all! How can I delete all the text starting from <string1> to <string2> in all the .txt files of the folder "FOLDER" ? Thanks a lot! mjomba ... </s> <s> <w></w> </s> <s> ... to get: (1 Reply)
Discussion started by: mjomba
1 Replies

7. Shell Programming and Scripting

Append text to line if begins with pattern1 AND does not end with pattern2

Hello, I'm looking for sed solution to change ... <li>keyword</li> <li>keyword <li>keyword</li> <li>keyword <li>keyword</li> ... to ... <li>keyword</li> <li>keyword</li> <li>keyword</li> <li>keyword</li> <li>keyword</li> ... I.e., if lines beginning with <li> do not end with... (3 Replies)
Discussion started by: pioavi
3 Replies

8. Shell Programming and Scripting

Delete Lines : after pattern1 and between pattern2 and pattern3 using awk/sed/perl

Hi I need to delete lines from a file which are after pattern1 and between pattern 2 and patter3, as below: aaaaaaaa bbbbbbbb pattern1 cdededed ddededed pattern2 fefefefe <-----Delete this line efefefef <-----Delete this line pattern3 adsffdsd huaserew Please can you suggest... (6 Replies)
Discussion started by: vk2012
6 Replies

9. Shell Programming and Scripting

Match pattern1 in file, match pattern2, substitute value1 in line

not getting anywhere with this an xml file contains multiple clients set up with same tags, different values. I need to parse the file for client foo, and change the value of tag "64bit" from false to true. cat clients.xml <Client type"FIX"> <ClientName>foo</ClientName>... (3 Replies)
Discussion started by: jack.bauer
3 Replies

10. Shell Programming and Scripting

Get lines which has pattern1, pattern2 and pattern3 in it

Version: RHEL 6.5 In the below text file, I want to find the lines which has the string JOHN , KATE and STEVE in it. The logic is to grep with an AND condition ie. get all lines with JOHN AND KATE AND STEVE $ cat sometext.txt PHILIP worked in HR JOHN along with KATE fixed several IT... (4 Replies)
Discussion started by: John K
4 Replies
INSTR(3)						       MBK UTILITY FUNCTIONS							  INSTR(3)

NAME
instr - find an occurence of a string in a string, starting at a specified character. ORIGIN
This software belongs to the ALLIANCE CAD SYSTEM developed by the ASIM team at LIP6 laboratory of Universite Pierre et Marie CURIE, in Paris, France. Web : http://asim.lip6.fr/recherche/alliance/ E-mail : alliance-users@asim.lip6.fr SYNOPSYS
#include "mut.h" char *instr(s, find, from) char *s, *find, from; PARAMETERS
s Pointer to the string to be searched for the pattern find Pointer to the string to be found, the pattern from Character to be searched backwards before searching for the pattern DESCRIPTION
instr searches the first occurence of the string find in the string s, starting its search at the last occurence of the from character in the string s. If either s or find is NULL, the function returns NULL. If from is (char)0, the pattern is searched from the begining of s. This quite exotic behaviour is useful to search the occurence of a name in a string resulting from a flatten, when only a terminal object name is to be taken into account. RETURN VALUES
instr return NULL either if the pattern find is not present in the searched string s, or if one at least of these two string are NULL. If the pattern is found, a value different from NULL is returned. EXAMPLE
#include "mut.h" /* check for the pattern 'ck' anywhere in the string */ #define contains_ck(name)instr(name, "ck", ' ') /* check for the pattern 'ck' in the signal name, not instance ones */ #define isclock(ptsig) instr(getsigname(ptsig), "ck", SEPAR) SEE ALSO
mbk(1), isvdd(3), isvss(3). BUG REPORT
This tool is under development at the ASIM department of the LIP6 laboratory. We need your feedback to improve documentation and tools. ASIM
/LIP6 October 1, 1997 INSTR(3)
All times are GMT -4. The time now is 09:35 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy