grep for a particular pattern and remove few lines above top and bottom of the patter


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting grep for a particular pattern and remove few lines above top and bottom of the patter
# 15  
Old 03-03-2008
grep+sed

Hi,

Try this one, first use grep to find the line number of 'pattern', then delete as expected.

Code:
line=`grep -n pattern filename | cut -d":" -f1`
a1=`expr $line - 3`
a2=`expr $line - 1`
b1=`expr $line + 1`
b2=`expr $line + 5`
sed "${a1},${a2}d;${b1},${b2}d" filename

# 16  
Old 07-23-2008
ghostdog74,

Thanks a lot, I am sorry to update it now. Yours one worked perfect, although I dont say other suggestions did not work.
# 17  
Old 07-25-2008
line=`cat -n a | grep pat | awk '{print $1}'`
nawk -v t="$line" '{
if(NR<t-5 || NR>t+6)
print
}' file
# 18  
Old 07-25-2008
If what you really actually want is for anything between two occurrences of ?> matching your pattern to be removed, rather than static numbers of lines of text, perhaps something like this would work.

Code:
perl -0777 -pe 's%\?>.*Host: googlesindication\.cn.*.*\?>%?>%gs' 123.txt

Extending it to also cover anything between beginning of file and the first occurrence of ?> would not be very hard.
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Removing top few and bottom few rows in a file

Hi, I have a requirement where I need to delete given number of top and bottom rows in a flat file which has new line as its delimiter. For ex: if top_rows=2 & bottom_rows=1 Then in a given file which looks like: New York DC LA London Tokyo Prague Paris Bombay Sydney... (7 Replies)
Discussion started by: calredd
7 Replies

2. Shell Programming and Scripting

Remove top and bottom for each column

Dear All I was wondering if someone could help me in resolving an issue. I have a file like this: column1 column2 2 4 3 5 8 9 0 12 0 0 0 0 9 0 87 0 1 0 1 0 1 0 4 0 (2 Replies)
Discussion started by: giuliangiuseppe
2 Replies

3. Shell Programming and Scripting

How to print from bottom to top?

Hi, i have a file which contains PID and wanted to execute kill command. but the thing is, when killing PID's needs to kill PID from bottom to top. Please help INPUT 21414 sh -c extract.ksh ASA 21416 /bin/ksh extract.ksh ASA 21428 /usr/bin/perl -w /var/tmp/tempperl.21416 ASA... (4 Replies)
Discussion started by: reignangel2003
4 Replies

4. Ubuntu

Title bar top and bottom

Hello forum, Seems that only I have alot of questions regarding Ubuntu :D In Ubuntu 12.04 LTS the gnome I have been using gdm and lightdm. In lightdm the top and side bars are aka "unity" and can be removed using apt-get remove unity I need to do the same for menu bars gdm. I do not... (0 Replies)
Discussion started by: br1an
0 Replies

5. Shell Programming and Scripting

Print n lines from top and n lines from bottom of all files with .log extenstion

Oracle Linux 6.4 In a directory I have more than 300 files with the extension .log I want the first 5 and last 5 lines of these .log files to be printed on screen with each file's name. Expected output : Printing first 5 and last 5 lines of FX_WT_Feb8_2014.log !! Authentication... (7 Replies)
Discussion started by: kraljic
7 Replies

6. Shell Programming and Scripting

Remove x lines form top and y lines form bottom using AWK?

How to remove x lines form top and y lines form bottom. This works, but like awk only cat file | head -n-y | awk 'NR>(x-1)' so remove last 3 lines and 5 firstcat file | head -n-3 | awk 'NR>4' (5 Replies)
Discussion started by: Jotne
5 Replies

7. Shell Programming and Scripting

Search for string and print top and bottom line

Hi Folks I need a one liner to parse through a log and if the string is found print the line above, the line with the string and the line below. example: The ball is green and blue Billy through the ball higer. Jane got hurt with the ball. So if I search for Billy I would need the 3... (1 Reply)
Discussion started by: bombcan
1 Replies

8. UNIX for Dummies Questions & Answers

Grep for a pattern based on another patter

hi, I have looked at many grep threads and am unable to find something like this: please help. I have a file which is generated from a report generator and i am trying to load a whole lot of specific data into a table for the users. One field is causing me problems.All the rest i can manage.... (7 Replies)
Discussion started by: rock1
7 Replies

9. Shell Programming and Scripting

How to search for a pattern from bottom to top.

Hi, I have a file, which is having a pattern "SEARCH" somewhere towards end of the file, if i am giving " grep -i "SEARCH" $File" , it is taking too much time as file is very big. So i want to search for the pattern from the back side of the file, how can we search for a pattern in bottom... (5 Replies)
Discussion started by: Prat007
5 Replies
Login or Register to Ask a Question