Se os arquivos estiverem bem organizados, você pode fazer algo tão simples quanto isso.
diff -u file1 file2
Se os arquivos não estiverem classificados e você quiser encontrar linhas exclusivas, poderá fazer algo assim.
diff -u <(sort file1) <(sort file2)
Dados os arquivos acima, você verá isso.
$ diff -u <(sort file1) <(sort file2)
--- /dev/fd/63 2014-09-19 15:40:20.223409721 -0700
+++ /dev/fd/62 2014-09-19 15:40:20.219409761 -0700
@@ -1,4 +1,5 @@
-cats 3
+bird 6
+cats 78
dogs 8
mice 4
-pigs 10
+pigs 29
is there a way to get the '+' outputs only and not all the '-' lines etc,
Claro, apenas empilhe através do grep.
$ diff -u <(sort file1) <(sort file2) | grep '^+'
+++ /dev/fd/62 2014-09-19 15:50:18.293474221 -0700
+bird 6
+cats 78
+pigs 29