Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

difference between the content of two files

Tags:

unix

diff

I have two files one file subset of other and i want to obtain a file which has contents not common to both.for example

File1

apple
mango
banana
orange
jackfruit
cherry
grapes
eggplant
okra
cabbage

File2

apple
banana
cherry
eggplant
cabbage

The resultant file, difference of above two files

mango
orange
jackfruit
grapes
okra

Any ideas on this are appreciated.

like image 775
Shruti Avatar asked Sep 30 '10 17:09

Shruti


2 Answers

You can sort the files then use comm:

$ comm -23 <(sort file1.txt) <(sort file2.txt)
grapes
jackfruit
mango
okra
orange

You might also want to use comm -3 instead of comm -23:

  -1              suppress lines unique to FILE1
  -2              suppress lines unique to FILE2
  -3              suppress lines that appear in both files
like image 58
Mark Byers Avatar answered Oct 24 '22 21:10

Mark Byers


1 Only one instance , in either

  • cat File1 File2 | sort | uniq -u

2 Only in first file

  • cat File1 File2 File2 | sort | uniq -u

3 Only in second file

  • cat File1 File1 File2 | sort | uniq -u
like image 27
Antti Rytsölä Avatar answered Oct 24 '22 23:10

Antti Rytsölä