How to delete lines using sed?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to delete lines using sed?
# 1  
Old 03-26-2011
How to delete lines using sed?

<VirtualHost 192.168.1.158:80>
DocumentRoot /home/ten
ServerName ten.com
</VirtualHost>

<VirtualHost 192.168.1.158:80>
DocumentRoot /home/sachin
ServerName sachin.com
</VirtualHost>

<VirtualHost 192.168.1.158:80>
DocumentRoot /home/yuvraj
ServerName yuvraj.com
</VirtualHost>

<VirtualHost 192.168.1.158:80>
DocumentRoot /home/checking
ServerName checking.com
</VirtualHost
~

I want to delete sachin.com from the above file so the output look like

<VirtualHost 192.168.1.158:80>
DocumentRoot /home/ten
ServerName ten.com
</VirtualHost>

<VirtualHost 192.168.1.158:80>
DocumentRoot /home/yuvraj
ServerName yuvraj.com
</VirtualHost>

<VirtualHost 192.168.1.158:80>
DocumentRoot /home/checking
ServerName checking.com
</VirtualHost
~
Please how to do this using sed command
# 2  
Old 03-26-2011
how about this awk code?
Code:
awk  '$0!~/sachin.com/' RS="\n\n" ORS="\n\n" file

# 3  
Old 03-26-2011
Try with the opposite of a known sed oneliner ("print paragraph if it contains pattern"), I've adapted it to your
case ("
print paragraph if it not contains pattern").

I'm not sure exactly how it works, but it does:


Code:
sed -e '/./{H;$!d;}' -e 'x;/sachin.com/d;' inputfile

or more compressed:
sed -e '/./{H;$!d;};x;/sachin.com/d;' inputfile

 Reference: http://sed.sourceforge.net/sed1line.txt

Regards

Last edited by cgkmal; 03-26-2011 at 05:07 AM..
# 4  
Old 03-26-2011
... and to avoid the adding of the empty new line you should use h instead of H for the first line.

Code:
sed '1{/./h;d;};/./{H;$!d;};x;/sachin.com/d;' infile

# 5  
Old 03-28-2011
Code:
awk 'BEGIN{RS="\n\n"}{if($6 != "sachin.com")print $0"\n";}' inputfile

# 6  
Old 03-28-2011
If your grep supports -p flag.

Code:
 
grep -vp "sachin.com" inputfile

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

sed or awk: delete n lines following a formfeed

Hi Members, This is my first post in this forum. I want to do is match form feed lines one by one in a file and delete the next n lines (ex-3 lines) with the form feed character Eg - Files looks like Data 1 Data 2 Data 3 FF Hdr1 Hdr2 Hdr3 Data4 Data5 FF Hdr1 Hdr2 Hdr3 (9 Replies)
Discussion started by: yohan
9 Replies

2. Shell Programming and Scripting

Sed/awk to delete single lines that aren't touching other lines

Hello, I'm trying to figure out how to use sed or awk to delete single lines in a file. By single, I mean lines that are not touching any other lines (just one line with white space above and below). Example: one two three four five six seven eight I want it to look like: (6 Replies)
Discussion started by: slimjbe
6 Replies

3. Shell Programming and Scripting

Delete lines with SED in Bash?

Hello everyone I'm doing a program in bash and wanted to know how can I do to delete document lines the words not ending in S with SED, ie, show only those ending with the letter S. I probe with: sed -e /$.*/d "$file" | more to delete all lines NOT ending in S but not work!... (3 Replies)
Discussion started by: adiegorpc
3 Replies

4. Shell Programming and Scripting

Sed to delete lines that with the following

Hi, I'm very new to Sed and I have a very large file that contains data in the following way (*064) 1 4 10 (*064) simulation time = 0.12000E-05 (*064) 1 2 10 (*064) 1 3 10Essentially what I want to do it delete every line that starts with '(*064) 1'I tried the following, ... (2 Replies)
Discussion started by: lost.identity
2 Replies

5. Shell Programming and Scripting

Using SED to delete some lines from file

Hi All, I have one /etc/hosts.equiv file which has following entries ########## wcars42g admin wcars42b netmgr wcars42b oemssrvr wcars42f admin wcars42f netmgr wcars42f oemssrvr ########## I am trying to delete lines starting from wcars42b.... (1 Reply)
Discussion started by: akash_mahakode
1 Replies

6. Shell Programming and Scripting

sed problem - delete all lines until a match on 2 lines

First of all, I know this can be more eassily done with perl or other scripting languages but, that's not the issue. I need this in sed. (or wander if it's possible ) I got a file (trace file to recreate the control file from oracle for the dba boys) which contains some lines another line... (11 Replies)
Discussion started by: plelie2
11 Replies

7. Shell Programming and Scripting

delete blank lines with sed

I have a text file with blank lines fullfilled with spaces and others only containing the "Enter" caracter, the \012. I would like to eliminate all them with the sed command. Is it possible? making: sed '/^$/d' <file should delete the blank lines but doesn't work for the lines that only... (2 Replies)
Discussion started by: tmxps
2 Replies

8. Shell Programming and Scripting

Delete lines containing text with sed

hello all I have bunch of files containing lines of text that surrounding by <# .......#> tags I like to delete this lines from the text files whiteout open the files , can it be done with sed ? or other unix tool (perl mybe )? (2 Replies)
Discussion started by: umen
2 Replies

9. Shell Programming and Scripting

sed help - delete last 2 lines.

I have been reading through the sed one liners, trying to understand what is happening. # delete the last 2 lines of a file sed 'N;$!P;$!D;$d' The above will delete the last 2 line of a file. I tried analyzing what happens. And I got lost :( This is what I understood so far from the... (2 Replies)
Discussion started by: vino
2 Replies

10. Shell Programming and Scripting

Delete multiple lines w/ sed

Hi all, I am trying to figure out the syntx to delete multiple lines w/ sed. I know the following syntax will delete lines 1 THROUGH 5 from filex: sed 1,5d filex But I wan to delete lines 1 AND 5 (keeping lines 2,3, and 4). Does anyone know how to do this in a single sed statement? ... (2 Replies)
Discussion started by: bookoo
2 Replies
Login or Register to Ask a Question