Today I had to a set of email addresses, one per line, from which I had to remove the addresses of folks that said “Don’t email me.” Those emails were in a separate file, one address per line.
I figured I’d have to do this again, so I wrote a ruby script to automate it. Below, stripper.rb
#put each address in an array, remove whitespace and make it all lowercase potential_emails = IO.readlines("potentials.txt").map! {|email| email.strip.downcase} delete_emails = IO.readlines("donotemail.txt").map! {|email| email.strip.downcase} #use the beauty of ruby's array subtraction operator puts potential_emails - delete_emails
Simple, terse and readable. Lovely!