На POSIX системах можно использовать
fgrep
:
$ cat /tmp/file1.txt
aaa
bbb
ccc
$ cat /tmp/file2.txt
bbb
123
aaa
$ fgrep -f /tmp/file1.txt /tmp/file2.txt
bbb
aaa
Так что на PHP как-то так:
$output = shell_exec('fgrep -f /tmp/file1.txt /tmp/file2.txt > /tmp/dups.txt');
Однако, если требуется выполнять какие-то дополнительные манипуляции, тогда, возможно, лучше сразу импортировать в СУБД.
Добавлено:
упустил факт, что помимо дубликатов нужно оставить и неповторяющиеся значения. Тогда так:
$ sort -u /tmp/file1.txt /tmp/file2.txt
123
aaa
bbb
ccc
$output = shell_exec('sort -u /tmp/file1.txt /tmp/file2.txt > /tmp/dups.txt');