Delete Multiple Line using linux command

Posted on 2014-01-07
Last Modified: 2014-11-18

I have two .txt files which content email list ,
File one named : old.txt

That contains :

file two named : delete.txt

What I need to ask if how can I delete the lines for old.txt using delete.txt pattern?
Question by:skywill
LVL 45

Expert Comment

ID: 39763052
Hi skywill,

You can use any of at least a half dozen utility programs (awk, sed, grep, etc.) to do this.  Join works well, too.

Try this:

 join -v1 -v2 < (sort old.txt) < (sort delete.txt)

Good Luck!

Author Comment

ID: 39763091
what I need is when I run the command , the old.txt will have only left these email :

so the the result is and deleted from old.txt

do ur command work ?
LVL 45

Assisted Solution

Kdo earned 125 total points
ID: 39763106
Those commands will generate the results that you're looking for and write them to standard output.

Just redirect the output to the desired file.  You'll probably want to write the results to a temporary file, then copy that file back over old.txt

 join -v1 -v2 < (sort old.txt) < (sort delete.txt) > new.txt
 cp new.txt old.txt
LVL 37

Accepted Solution

Gerwin Jansen earned 125 total points
ID: 39763137
grep -v -f delete.txt old.txt

(will use patterns from old.txt to find non-matching lines from delete.txt)

grep -v -f delete.txt old.txt  > new.txt

(new.txt will contain your filtered output)

grep -v -f delete.txt old.txt  > new.txt ; mv new.txt old.txt

(and rename new.txt to old.txt)
LVL 26

Expert Comment

ID: 39835407
the proper use of join is :

$ sort old.txt > old.txt.sorted
$ sort delete.txt > delete.txt.sorted
$ join -a1 -v2 old.txt.sorted delete.txt.sorted


this is much simpler and does not change the order of the addresses nor spend time sorting them

$ grep -v -f delete.txt old.txt

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this tutorial I will show you how to make a simple HTML bar chart with the usage of WhizBase, If you want more information about WhizBase please read my previous articles at (http://www.experts-ex…
How to install Selenium IDE and loops for quick automated testing. Get Selenium IDE from Go to that link and select download selenium in the right hand columnThat will then direct you to their download page.From that page s…
The goal of the tutorial is to teach the user how to use functions in C++. The video will cover how to define functions, how to call functions and how to create functions prototypes. Microsoft Visual C++ 2010 Express will be used as a text editor an…
Video by: Mark
This lesson goes over how to construct ordered and unordered lists and how to create hyperlinks.

813 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now