Using sed to delete a line having a particular keyword


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Using sed to delete a line having a particular keyword
# 1  
Old 08-20-2010
Using sed to delete a line having a particular keyword

Hi Geeks Smilie,
I need to delete a line from file that contains a particular keyword.
I had read in some forum of unix.com that below code could be used

Code:
sed "/$titlesearch/d" movielist >tmp
mv tmp movielist

But my file contains lines which contain slashes (/)
FOr eg:
/etc/movie/title/
/etc/movie2/tiltle2/

$titlesearch is a variable that contains any of the above line to delete

But when I execute it gives me error like
Unrecognized command: /etc/movie/title//d

I think it is happening because of slashes Smilie Please suggest
Thanks in advance
# 2  
Old 08-20-2010
If u want to use perl:

Code:
perl -ane "print unless  m.${titlesearch}.;" movielist>tmp

# 3  
Old 08-20-2010
Quote:
Originally Posted by Klashxx
If u want to use perl:

Code:
perl -ane "print unless  m.${titlesearch}.;" movielist>tmp

If using perl, you can update the file directly with -i.

Code:
perl -i.bak -ane "print unless  m.${titlesearch}.;" movielist

by awk:

Code:
awk -v t=$titlesearch '!($0~t)' movielist > tmp

# 4  
Old 08-20-2010
Quote:
Originally Posted by Franklin52
Try another separator:
Code:
sed "_$titlesearch_d" movielist >tmp
mv tmp movielist


It is not working:
Unrecognized command: _

---------- Post updated at 08:41 AM ---------- Previous update was at 08:39 AM ----------

Could you please explain the awk command. Especially '!($0~t)'
# 5  
Old 08-20-2010
you can use any character as sed separator like
Code:
sed "|$titlesearch|d" movielist
sed "#$titlesearch#d" movielist

just look that it isn't used in your list
# 6  
Old 08-23-2010
HI Klashxx/rdcwayx,

The perl thing worked, Could you please mind explaining the code.

Thanks in adv.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Search for a Keyword in file and replace another keyword or add at the end of line

Hi I want to implement something like this: if( keyword1 exists) then check if(keyword2 exists in the same line) then replace keyword 2 with New_Keyword else Add New_Keyword at the end of line end if eg: Check for Keyword JUNGLE and add/replace... (7 Replies)
Discussion started by: dashing201
7 Replies

2. Shell Programming and Scripting

sed command to grep multiple pattern present in single line and delete that line

here is what i want to achieve.. i have a file with below contents cat fileName blah blah blah . .DROP this REJECT that . --sport 7800 -j REJECT --reject-with icmp-port-unreachable --dport 7800 -j REJECT --reject-with icmp-port-unreachable . . . more blah blah blah --dport 3306... (14 Replies)
Discussion started by: vivek d r
14 Replies

3. Shell Programming and Scripting

Sed or Grep to delete line containing patter plus extra line

I'm new to using sed and grep commands, but have found them extremely useful. However I am having a hard time figuring this one out: Delete every line containing the word CEN and the next line as well. ie. test.txt blue 324 CEN green red blue 324 CEN green red blue to produce:... (2 Replies)
Discussion started by: rocketman88
2 Replies

4. Shell Programming and Scripting

USING sed to delete a line

Please let me know wat would be sed command to delete any partcular line from a file and also moving lines below it to up. ie wen line #9 is deleted data in line #10 should move to #9 and so on. (2 Replies)
Discussion started by: fidelis
2 Replies

5. Shell Programming and Scripting

How can i delete a keyword containing XYZ in unix

Hi all, I am trying to remove the words which has XYZ as a prt of that. My input file is something like this : PHNDAZLF-UPS-XYZ' aaaaaaa bbbbb ADFRTEJKS-XYZ cccccccc ddddddd rrrrrr SGETHEHDJ-ABC-RXY' hhhhh ttttt' kkkk FHJSKSJDKD-XXX-YYY Output expected is : aaaaaaa... (7 Replies)
Discussion started by: rdhanek
7 Replies

6. Shell Programming and Scripting

search for keyword in subsequent lines and delete the second line

I have my data something like this I need to search for the keyword yyyy in the susequent lines and if it is present, delete the second line with keyword. In other words, if a keywords is found in two subsequent lines delete the second line. input data: aaaa bbbbb cccc dddd xxxx... (4 Replies)
Discussion started by: rdhanek
4 Replies

7. Shell Programming and Scripting

Delete the lines before the first instance of the keyword

I have my data something like this. I want to delete all the lines before the frist instance of the key word 'ravi kumar' aaa bbbbbb cccccc ddddd eeeee 1234 ravi kumar aaaaaa vvvvvvv 5678 ravi kumar rrrrrrr mmmmmmm I want the output as follows. 1234 ravi kumar aaaaaa... (8 Replies)
Discussion started by: rdhanek
8 Replies

8. Shell Programming and Scripting

Delete the lines after the last instance of the keyword

I have my input sometyhing like this aaa bbbbbb cccccc ddddd eeeee 1234 ravi kumar aaaaaa vvvvvvv 5678 ravi kumar rrrrrrr mmmmmmm I want the output as follows. aaa bbbbbb cccccc ddddd eeeee 1234 ravi kumar aaaaaa vvvvvvv 5678 ravi kumar (2 Replies)
Discussion started by: rdhanek
2 Replies

9. Shell Programming and Scripting

How can i delete a keyword starting with x in unix

I am trying to delete key word starting with x in a unix text file. example, I am trying to delete the words like xaa,xabxbb,xbd and so on.... my input file is some thing like this xaaa w 1234 5678 rwsd ravi xw123 xbc3 ohrd want to delete words xaaa,xw123 and xbc3 from the above... (10 Replies)
Discussion started by: rdhanek
10 Replies

10. Shell Programming and Scripting

sed: delete regex line and next line if blank

Hi, I want to write a sed script which from batiato: batiato/giubbe: pip_b.2.txt pip_b.3.txt pip_b.3mmm.txt bennato: bennato/peterpan: 123.txt consoli: pip_a.12.txt daniele: (2 Replies)
Discussion started by: one71
2 Replies
Login or Register to Ask a Question