Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re: remove lines matching list of strings

by TomDLux (Vicar)
on Nov 08, 2012 at 21:51 UTC ( #1002996=note: print w/ replies, xml ) Need Help??


in reply to remove lines matching list of strings

grep -v -F -f file2 file1

English translation: using the Unix grep command, search file1 for lines which do not match ( -v ) the fixed strings ( -F ) ( as opposed to regular expressions ) found in file2 ( -f file2 ).

There are versions of grep available for Windows. Mac OS has a Unix basis, so it already has it.

If you absolutely have to do it in Perl, I would use the lines from file2 as the keys of a hash, assigning the number 1 as a value. Then, as I read the other file, it's trivial to check whether it is present in the hash.

As Occam said: Entia non sunt multiplicanda praeter necessitatem.


Comment on Re: remove lines matching list of strings
Download Code
Re^2: remove lines matching list of strings
by rootcho (Pilgrim) on Nov 08, 2012 at 22:51 UTC
    Yes, I was thinking in the same line... if done in perl using hash seem to be better than building giant regex.
    Heh...didn't know about -F option.. will check it out
    thanks

      Neither did I, but I scanned through man grep to make sure I was doing things right. I did have a vague recollection there was an option to search for strings rather than regex ... it helps if you know to search for something.

      As Occam said: Entia non sunt multiplicanda praeter necessitatem.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1002996]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (3)
As of 2015-07-06 04:37 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (70 votes), past polls