How to compare two text files

Bruno Wolff III bruno at wolff.to
Thu May 6 20:19:27 UTC 2010


On Thu, May 06, 2010 at 18:27:12 +0530,
  "W.H. Kalpa Pathum" <callkalpa at gmail.com> wrote:
> hi,
> 
> I've got two text files containing email addresses one at a row. The
> number of rows in one file is different from the number of the other
> file. email addresses in one file is already there in the other file
> (there are some more also). What I want to do is extract the list
> which is not in the other file.

I do a lot of this at work when needing to deal with lists of accounts.

First make sure the lists are sorted and that there is only one copy of
each address if that makes sense. This assumes that the email addresses
are in a canoical form of some kind.

sort -u file1 > file1.s
sort -u file2 > file2.s

Get lines in file1 but not file2:
comm -2 -3 file1 file2

Note that you might need sort and comm using the same locale for their sort.
On some old machines I have had one using LANG_C whole the other used
en_US, which caused problems when there is mixed case. I don't think that
will be an issue with Fedora.


More information about the users mailing list