Se o Unix estiver disponível para você, você pode tentar estas combinações simples de comandos simples; tr, classificar e comm.
Primeiro, converta o arquivo de separado horizontalmente para verticalmente:
tr '[:blank:]' '\n' < file1.txt > /tmp/file1.vertical
tr '[:blank:]' '\n' < file2.txt > /tmp/file2.vertical
Depois, classifique os arquivos:
sort /tmp/file1.vertical > /tmp/file1.sorted
sort /tmp/file2.vertical > /tmp/file2.sorted
Agora você pode ver o que está no arquivo1 que não está no arquivo2
comm -23 /tmp/file1.sorted /tmp/file2.sorted
Ou veja o que está no arquivo2 que não está no arquivo1
comm -13 /tmp/file1.sorted /tmp/file2.sorted
Se você quiser a saída no mesmo formato horizontal com o qual começou, poderá fazer isso:
comm -23 /tmp/file1.sorted /tmp/file2.sorted | tr '\n' ' '
comm -13 /tmp/file1.sorted /tmp/file2.sorted | tr '\n' ' '
Quando terminar, você poderá excluir os arquivos temporários criados:
rm /tmp/file1.vertical /tmp/file2.vertical /tmp/file1.sorted /tmp/file2.sorted