com o awk:
awk 'NR==FNR{a[$0];next}(!($0 in a)){print}' file2 file1
NR==FNR{a[$0];next} :
Para o primeiro arquivo (arquivo2), crie uma matriz a , com a chave $0 = linha inteira e vá para a próxima linha. NR é o número de registro global de awk e FNR é o número de registro de arquivo atual. A condição NR == FNR será válida apenas para o primeiro arquivo lido (arquivo2)
(!($0 in a){print} :
Quando o primeiro arquivo2 terminar, leia arquivo1 e se a linha inteira $0 do arquivo1 não pertencer às chaves do array a imprima esta linha.
Com grep:
grep -vxF -f file2 file1
-v : captura as linhas não correspondentes
-x : corresponde à linha inteira
-F : faz uma correspondência fixa em vez da correspondência de padrão em -f : use arquivo2 para carregar padrões
Para os dados atualizados para realizar uma comparação linha por linha, você pode usar o awk e não o grep:
awk 'NR==FNR{a[FNR]=$0;next}$0!=a[FNR]{print}' file2 file1
1,2,1,1
1,2,4,2
1,2,1,2
Obviamente, ambos os arquivos devem ter o mesmo número de linhas.