"Quiero generar el archivo completo en un formato unificado. ¿Hay alguna forma de que diff pueda hacer esto?"
Sí.
diff -U 9999999 file1.txt file2.txt > diff.txt
Esto debería funcionar, siempre que sus archivos tengan menos de 10 millones de líneas.
Una opción que podría ajustarse a sus necesidades,
sdiff
:diferencias de archivos lado a lado.
sdiff -o merged.file left.file right.file
Una vez allí, le indicará qué líneas desea conservar de qué archivo. Presiona ?
y luego enter
por un poco de ayuda. También man sdiff
con los bienes detallados.
(En mi distribución, estos vienen empaquetados en el paquete "diffutils" [fedora,centos])
Si necesita automatizar el proceso, puede probar la utilidad merge
, que marcará conflictos en los archivos. Sin embargo, eso podría ponerte de nuevo en el punto de partida.