Visit Our UNIX and Linux User Community


Greping in between two different lines.


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Greping in between two different lines.
# 1  
Old 12-21-2009
Greping in between two different lines.

I know you could use the grep "something" -A200 flag to get all the lines past your pattern. Is there a way to get all the lines in between two patterns? The -a flag will not work since all lines in between the two patterns don't have a constant number.
# 2  
Old 12-22-2009
There are already a lot of related posts in this forum. Please search 'print lines between patterns' in the search bar of unix.com.

One related post:
HTML Code:
https://www.unix.com/shell-programming-scripting/88534-grep-all-lines-between-2-different-patterns.html
# 3  
Old 12-22-2009
sed would be a good choice for this kind of problems, as

Code:
sed -n /start_pattern/,/end_pattern/p FILENAME

# 4  
Old 12-22-2009
I would also suggest sed but in my early Linux days, one of my first scripts contained "cat foo | grep -A 1000 string1 | grep -B 1000 string2". That gives you everything between string1 and string2.
# 5  
Old 12-22-2009
You can use Perl as well:

Code:
$
$ cat -n f6
     1  this is line 1
     2  this is line 2
     3  begin
     4  some stuff here
     5  that spans
     6  multiple lines
     7  end
     8  this is line 8
     9  this is line 9
$
$ # to print everything between "begin" and "end" both inclusive
$
$ perl -lne 'print if (/begin/../end/)' f6
begin
some stuff here
that spans
multiple lines
end
$
$ # to print everything between "begin" and "end" both exclusive
$
$ perl -lne 'BEGIN{undef $/} print $1 if (/begin\n(.*?)\nend/s)' f6
some stuff here
that spans
multiple lines
$
$

tyler_durden

Previous Thread | Next Thread
Test Your Knowledge in Computers #723
Difficulty: Medium
Niklaus Emil Wirth, an Austrian computer scientist, designed several programming languages, including Pascal,
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk and greping between lines

i want to grab lines from a file that are between two patterns (including the lines that contain the pattern). here's what im currently doing: data.txt aaa bbb cccc ddd eee ffff ddd code: awk '/bbb/,/fff/ && $0 !~ /ddd/' cdsnmp.sh I want to grab lines between and including bbb... (5 Replies)
Discussion started by: SkySmart
5 Replies

2. Shell Programming and Scripting

Having trouble greping a variable

I'm trying to take a users input, and then such a text file to see if it contains it. I get an error when running it: "./Login.sh: Line 8: echo Username read username if ; then echo Login successful. else echo Failed to login. fi If someone could give me some input to where I'm... (4 Replies)
Discussion started by: Hegarz
4 Replies

3. Shell Programming and Scripting

greping $2 into a list

Hi When I run this command: lsuser -a auditclasses ALL I got: user1 auditclasses=general,objects,cron,files,rbac,audit,lvm,aixpert user2 auditclasses=general,objects,cron,files,rbac,audit,lvm,aixpert user3 auditclasses=general,objects,cron,files,rbac,audit,lvm,aixpert user4... (7 Replies)
Discussion started by: iga3725
7 Replies

4. Shell Programming and Scripting

need help in greping

Hi, i have to find a string in a file and positin of the string in the file would come in some particular interval. let's say file is 1-1000 lines and string is in from 200-300line. could any one suggest me how to get make the grep search for the string in that particular portion of the... (4 Replies)
Discussion started by: tarakant
4 Replies

5. Shell Programming and Scripting

greping ip address

I have this line BTSRTRGRP-448-1-1 10.162.141.118/255.255.255.254 - I need to print only the IPADDRESS and not the subnet mask. If i use cut -c30-43 I get the ipaddress, where as in some cases if the last octet is of single digit (10.162.141.8/255.255.255.254) it... (2 Replies)
Discussion started by: miltonrods
2 Replies

6. Shell Programming and Scripting

Greping the required parameter...

Hi Friends, Urgently required to know this : I have a file which has several stanzas like below : CuDv: name = "hdisk3" status = 1 chgstatus = 2 ddins = "scdisk" location = "03-08-01-11,0" parent = "scsi1" connwhere =... (3 Replies)
Discussion started by: vijaya2006
3 Replies

7. Shell Programming and Scripting

need help in greping

i have a ksh script : #!/bin/ksh TZ=`date +%Z`+24 ;a=`date +%Y-%m-%d` b=`date +"%H:%M:%S"` cd /ednadtu3/u01/pipe/logs for i in Archiver1.log do cat $i | grep $a | grep $b >> /ednadtu3/u01/pipe/naveed/Insert_Date.txt done... (4 Replies)
Discussion started by: ali560045
4 Replies

8. Shell Programming and Scripting

Greping certain lines

One of my outout is like this as shown below. How can I grep only the lines after the line "Affected files ...". No of lines after the line "Affected files ..." may vary. $ cat file_A Change 149133 by csaha@test_depo_csaha on 2006/02/08 01:40:57 *pending* This is to test change #... (5 Replies)
Discussion started by: csaha
5 Replies

9. UNIX for Dummies Questions & Answers

GREPing for Nulls

I just had a filesystem / file corruption issue on my HSP's server due to disk capacity limits and fileswapping. I discovered that certain files got corrupted when fileswapping was not successful and they ended up with a string of control characters, or what I believe to be nulls, in them. Does... (4 Replies)
Discussion started by: Dr. DOT
4 Replies

10. UNIX for Dummies Questions & Answers

Help with greping a field

Hi, Suppose I have a file as below and I just want the field Invoice Number from this file , How can I do it. /home/arbor>cat PH0034090202314800030IM-001 0Yp825XMilperra NSW 1891 189110H14V1Sp2871Yp300X Customer Service : 0000-368-81118H6.5V0Sp3130Yp50X ... (7 Replies)
Discussion started by: rooh
7 Replies

Featured Tech Videos