Replace line with Nothing


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Replace line with Nothing
# 1  
Old 09-01-2008
Power Replace line with Nothing

Hi,

i want to replace some lines in a file "Source.txt" by taking search pattern input from a different file named "abc".

Search pattern input file have following lines:

vi abc
2637918
2707239
2709124
2709148
2709159
2709177
...........

i am running following code:

for i in `cat abc` ;do perl -pi.bk4 -e 's/^.*$i.*//g' Source.txt;done

but it's not working.......
pls help.
# 2  
Old 09-01-2008
while read line
do
sed -i "s/^.*$line.*//g" source.txt //or// sed -i 's/^.*${line}.*//g'
done < abc

or try

Last edited by vidyadhar85; 09-01-2008 at 05:15 AM..
# 3  
Old 09-01-2008
You want to replace them with empty lines, or delete them? Delete is easy:

Code:
fgrep -vf abc Source.txt

For replacing with nothing, perhaps the following:

Code:
sed -e 's%.*%s/.*&.*//%' abc | sed -f - Source.txt

Maybe your sed can't handle standard input for the -f option; if so, report back here and we'll think about workarounds.

Repeated looping over all the input patterns seems awfully inelegant and inefficient.
# 4  
Old 09-01-2008
Hi Vidya,
ur sed commnd is replacing the input seach pattern line with nothing but.... size of output file is getting 3 times more than the orignal file.... means each time after replacing the matched line with nothing the command is adding the entire file into the output file again....

pl help anybody.......hw to overcome this problem...
# 5  
Old 09-01-2008
Code:
while read line
do
perl -i -ne 's/'$line'//g; print; ' filename
done < abc

# 6  
Old 09-01-2008
Dennis...it's also not working.......pls specify clearly.

suppose my output file is OUTFILE .....

pls tell me the exact code..
# 7  
Old 09-01-2008
Quote:
Originally Posted by unknown123
Dennis...it's also not working.......pls specify clearly.

suppose my output file is OUTFILE .....

pls tell me the exact code..
Its working well!!!!
Input:

Quote:
["/tmp" ]>cat sample
1233
message
["/tmp" ]>cat OUTFILE
test message 1233 abcf fsd ds f
test message abccd masage message
Code :

Quote:
["/tmp" ]>while read line
> do
> perl -i -ne 's/'$line'//g; print; ' OUTFILE
> done<sample
Output:

Quote:
["/tmp" ]>cat OUTFILE
test abcf fsd ds f
test abccd masage
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Replace values in script reading line by line using sed

Hi all, Let's say I have a script calling for the two variables PA_VALUE and PB_VALUE. for pa in PA_VALUE blah blah do for pb in PB_VALUE blah blah do I have a text file with two columns of values for PA and PB. 14.5 16.7 7.8 9.5 5.6 3.6 etc etc I would like to read this... (7 Replies)
Discussion started by: crimsonengineer
7 Replies

2. Shell Programming and Scripting

sed command to replace a line in a file using line number from the output of a pipe.

Sed command to replace a line in a file using line number from the output of a pipe. Is it possible to replace a whole line piped from someother command into a file at paritcular line... here is some basic execution flow.. the line number is 412 lineNo=412 Now i have a line... (1 Reply)
Discussion started by: vivek d r
1 Replies

3. Shell Programming and Scripting

Multiple line search, replace second line, using awk or sed

All, I appreciate any help you can offer here as this is well beyond my grasp of awk/sed... I have an input file similar to: &LOG &LOG Part: "@DB/TC10000021855/--F" &LOG &LOG &LOG Part: "@DB/TC10000021852/--F" &LOG Cloning_Action: RETAIN &LOG Part: "@DB/TCCP000010713/--A" &LOG &LOG... (5 Replies)
Discussion started by: KarmaPoliceT2
5 Replies

4. Shell Programming and Scripting

sed command to replace a line at a specific line number with some other line

my requirement is, consider a file output cat output blah sdjfhjkd jsdfhjksdh sdfs 23423 sdfsdf sdf"sdfsdf"sdfsdf"""""dsf hellow there this doesnt look good et cetc etc etcetera i want to replace a line of line number 4 ("this doesnt look good") with some other line ... (3 Replies)
Discussion started by: vivek d r
3 Replies

5. Shell Programming and Scripting

I need to know how to replace a line after a pattern match with an empty line using SED

Hi How Are you? I am doing fine! I need to go now? I will see you tomorrow! Basically I need to replace the entire line containing "doing" with a blank line: I need to the following output: Hi How Are you? I need to go now? I will see you tomorrow! Thanks in advance.... (1 Reply)
Discussion started by: sags007_99
1 Replies

6. Emergency UNIX and Linux Support

Find a line using a condition and replace a string in that line

Hello, I have a 100 line code. I have given a sample of it below: ABC*654654*1*54.54*21.2*87*1*654654654654 CCC*FS*FS*SFD*DSF GGG*FGH*CGB*FBDFG*FGDG ABC*654654*1*57.84*45.4*88*2*6546546545 CCC*WSF*SG*FGH*GHJ ADA*AF*SFG*DFGH*FGH*FGTH I need to select the line starting with "ABC" its... (3 Replies)
Discussion started by: nithins007
3 Replies

7. Shell Programming and Scripting

Find a line using a condition and replace a string in that line

Hello, I have a 100 line code. I have given a sample of it below: ABC*654654*1*54.54*21.2*87*1*654654654654 CCC*FS*FS*SFD*DSF GGG*FGH*CGB*FBDFG*FGDG ABC*654654*1*57.84*45.4*88*2*6546546545 CCC*WSF*SG*FGH*GHJ ADA*AF*SFG*DFGH*FGH*FGTH I need to select the line starting with "ABC" its... (6 Replies)
Discussion started by: nithins007
6 Replies

8. Shell Programming and Scripting

sed to replace a line with modified line in same file

i have few lines in a file... i am reading them in a while loop so a particular line is held is $line1.. consider a modified line is held in $line2.... i want to replace $line1 with $line2 in the same file... how to do it..? i have come up till the below code sed "s/$line1/$line2/g" tmpfile.sql... (5 Replies)
Discussion started by: vivek d r
5 Replies

9. Solaris

Line too long error Replace string with new line line character

I get a file which has all its content in a single row. The file contains xml data containing 3000 records, but all in a single row, making it difficult for Unix to Process the file. I decided to insert a new line character at all occurrences of a particular string in this file (say replacing... (4 Replies)
Discussion started by: ducati
4 Replies

10. Shell Programming and Scripting

Need to replace the first word of a line if it occurs again in the next line(shell)

Hi folks, have a look into the attachment, i am not familiar with unix, can you please help me in this regard. thanks in advance, :) regards, Geeko (4 Replies)
Discussion started by: geeko
4 Replies
Login or Register to Ask a Question