Grep lines between two specific words after matching pattern


 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers Grep lines between two specific words after matching pattern
# 1  
Old 02-19-2020
Grep lines between two specific words after matching pattern

grep specific number of lines from file after matching pattern
Quote:
Line 1
.
.
.
Start
.
.
12345
.
.
End
.
.
Line n
I want to grep all the lines between keyword 'start' to 'end' after matching pattern/ number 12345

Is it possible?
Thanks in advance
# 2  
Old 02-19-2020
Assuming Linux:
Code:
a=3
b=3
grep -A$a -B$b  '12345'  somefile

This searches from 3 lines before and 3 line after the keyword is found. Total 7 lines, including keyword '12345'
# 3  
Old 02-19-2020
Quote:
Originally Posted by sagar_1986
grep specific number of lines from file after matching pattern
I want to grep all the lines between keyword 'start' to 'end' after matching pattern/ number 12345

Is it possible?
Thanks in advance
Hello sagar_1986,

Could you please do share your efforts which you have put in order to solve your own problems?
We encourage users to learn coding on this forum, so please do share so.

Thanks,
R. Singh
# 4  
Old 02-20-2020
Hello RavinderSingh13 ,


Actually i know how to get 'n' ( fixed) number of lines before and after the matching pattern, but here the issue is that position of 'start' and 'end' is not fixed.
Here i want to grep first occurrence of 'start' before matching pattern and first occurrence of 'end' after matching pattern and i don't have any idea how to do this, could you please help.
# 5  
Old 02-20-2020
Quote:
Originally Posted by sagar_1986
Hello RavinderSingh13 ,
Actually i know how to get 'n' ( fixed) number of lines before and after the matching pattern, but here the issue is that position of 'start' and 'end' is not fixed.
Here i want to grep first occurrence of 'start' before matching pattern and first occurrence of 'end' after matching pattern and i don't have any idea how to do this, could you please help.
Hello sagar_1986,

Again you are missing the point, request to you is to add your efforts in form of code; so kindly do so and let us know then.

Thansk,
R. Singh
# 6  
Old 02-20-2020
Code:
awk '/start/{flag=1} flag; /end/{flag=0}' sample.txt

Quote:
...... this prints all the start..end combinations
Code:
awk '/start/,/123456/,/end/'  sample.txt 
sed '/start.*123456.*end/!d' sample.txt
sed -n '/start.*123456.*end/p' sample.txt

Quote:
only two matching patterns are allowed in this command cant insert third matching pattern.
Code:
sed -e '/./{H;$!d;}' -e 'x;/123456/!d; sample.txt'

Quote:
..... this prints entire document as there is no paragraph in doc.
Code:
sed -e '/./{H;$!d;}' -e 'x;/start/!d;/123456/!d;/end/!d' sample.txt

Quote:
.....this also does the same as there is not paragraph.
so how to get lines which contains three matching patterns
This User Gave Thanks to sagar_1986 For This Post:
# 7  
Old 02-20-2020
You can see one way of doing on post #2
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Grep only words containing specific string

Hello, I have two files. All urls are space seperated. source http://xx.yy.zz http://df.ss.sd.xz http://09.09.090.01 http://11.22.33 http://canada.xx.yy http://01.02.03.04 http://33.44.55 http://98.87.76.65 http://russia.xx.zz http://aa.tt.xx.zz http://1w.2e.3r.4t http://china.rr.tt ... (4 Replies)
Discussion started by: baris35
4 Replies

2. UNIX for Dummies Questions & Answers

Grep -v lines starting with pattern 1 and not matching pattern 2

Hi all! Thanks for taking the time to view this! I want to grep out all lines of a file that starts with pattern 1 but also does not match with the second pattern. Example: Drink a soda Eat a banana Eat multiple bananas Drink an apple juice Eat an apple Eat multiple apples I... (8 Replies)
Discussion started by: demmel
8 Replies

3. Shell Programming and Scripting

Sed: printing lines AFTER pattern matching EXCLUDING the line containing the pattern

'Hi I'm using the following code to extract the lines(and redirect them to a txt file) after the pattern match. But the output is inclusive of the line with pattern match. Which option is to be used to exclude the line containing the pattern? sed -n '/Conn.*User/,$p' > consumers.txt (11 Replies)
Discussion started by: essem
11 Replies

4. Shell Programming and Scripting

Find all matching words in text according to pattern

Hello dear Unix shell professionals, I am desperately trying to get a seemingly simple logic to work. I need to extract words from a text line and save them in an array. The text can look anything like that: aaaaaaa${important}xxxxxxxx${important2}ooooooo${importantstring3}...I am handicapped... (5 Replies)
Discussion started by: Grünspanix
5 Replies

5. UNIX for Dummies Questions & Answers

Extract lines with specific words with addition 2 lines before and after

Dear all, Greetings. I would like to ask for your help to extract lines with specific words in addition 2 lines before and after these lines by using awk or sed. For example, the input file is: 1 ak1 abc1.0 1 ak2 abc1.0 1 ak3 abc1.0 1 ak4 abc1.0 1 ak5 abc1.1 1 ak6 abc1.1 1 ak7... (7 Replies)
Discussion started by: Amanda Low
7 Replies

6. Shell Programming and Scripting

Finding lines matching the Pattern and their previous lines in a file

Hi, I am trying to locate the occurences of certain pattern like 'Possible network disconnect' in a text file. I can get the actual lines matching the pttern using: grep -w 'Possible network disconnect' file_name. But I am more interested in getting the timing of these events which are... (7 Replies)
Discussion started by: sagarparadkar
7 Replies

7. Shell Programming and Scripting

Keep lines with specific words up in an order

I hava a file with following data: number|CREDIT_ID|NULL date|SYS_CREATION_DATE|NULL varchar2|GGS_COMMIT_CHAR|NULL varchar2|GGS_OP_TYPE|NULL number|GGS_SCN|NULL| number|GGS_LOG_SEQ|NULL number|GGS_LOG_POS|NULL number|GGS_ORACREC_SCN|NULL varchar2|BATCH_ID|NULL char|GGS_IMAGE_TYPE|NULL ... (6 Replies)
Discussion started by: kolesunil
6 Replies

8. Shell Programming and Scripting

counting the lines matching a pattern, in between two pattern, and generate a tab

Hi all, I'm looking for some help. I have a file (very long) that is organized like below: >Cluster 0 0 283nt, >01_FRYJ6ZM12HMXZS... at +/99% 1 279nt, >01_FRYJ6ZM12HN12A... at +/99% 2 281nt, >01_FRYJ6ZM12HM4TS... at +/99% 3 283nt, >01_FRYJ6ZM12HM946... at +/99% 4 279nt,... (4 Replies)
Discussion started by: d.chauliac
4 Replies

9. Shell Programming and Scripting

How to from grep command from a file which contains matching words?

Hi all I have a file with below content (content is variable whenever new product is launched). I need form a grep command like this egrep "Unknown product|Invalid symboland so on" How to do it using a script? Unknown product Invalid symbol No ILX exch found exceeds maximum size AFX... (4 Replies)
Discussion started by: johnl
4 Replies

10. Programming

getting file words as pattern matching

Sir, I want to check for the repation of a user address in a file i used || as my delimiter and want to check repetaip0n of the address that is mailid and then i have to use IMAP and all. How can i do this... I am in linux ...and my file is linux file. ... (5 Replies)
Discussion started by: arunkumar_mca
5 Replies
Login or Register to Ask a Question