comm the opposite of diff
Today I needed to find matching lines in a number of text files. My first thought was, what is the
opposite of diff
? the answer is comm
. To compare two text files and output lines that appear in
both use
comm -1 -2 <file 1> <file 2>
To get matching lines between 4 files I redirected the output to tempory files and then comm’d them.
comm -1 -2 <file 1> <file 2> > tmp1
comm -1 -2 <file 3> <file 4> > tmp2
comm -1 -2 tmp1 tmp2
You can pipe into comm by using ‘-’ instead of a filename so you could also compare 4 files with
comm -1 -2 <file 1> <file 2> | comm -1 -2 - <file 3> | comm -1 -2 - <file 4>
Jason
— 2011-06-21