Fusión de archivos más fácil: uso del comando diff3 en Linux
10:53, 09.04.2026
La fusión de archivos puede ser mucho más fácil con herramientas útiles como el comando diff3. Los administradores de sistemas y programadores que trabajan constantemente con varias versiones de un archivo y desean acelerar este proceso pueden utilizar diff3. Este comando es necesario para especificar las diferencias en varias versiones del mismo archivo.
Gracias a nuestro conocimiento práctico, hemos decidido explicar cómo funcionan los fundamentos de diff3, y compartir algunos ejemplos útiles para que pueda entender claramente esta herramienta y su caso de uso en el sistema Linux.
Comprensión del comando diff3
El comando Diff3 funciona comparando los archivos, determinando las diferencias entre ellos y mostrando esta información de una forma bastante fácil de entender para el usuario.
Los principales casos de uso de esta herramienta son los siguientes:
- La fusión de varios archivos puede realizarse automáticamente.
- La diversidad entre los archivos se puede encontrar fácilmente.
- Hacer frente a los conflictos que se producen durante la fusión de varias versiones.
También están disponibles los comandos diff y sdiff que se pueden utilizar para la fusión de versiones, pero la peculiaridad de diff3 es que se puede trabajar con 3 versiones distintas y se pueden fusionar fácilmente en un archivo específico.
Visión general de la sintaxis diff3
Así es como se ve el uso estándar del comando:
diff3 [opciones] f1 f2 f3
En esta línea, f1 especifica la versión inicial del fichero, f2 - la 2ª versión, y f3 - la 3ª.
Opciones más frecuentes
Esta es la lista de las opciones más utilizadas para este comando, algunas de ellas son las siguientes:
- -m: fusión de archivos que se realiza automáticamente.
- -e: esta opción se debe hacer para la creación del script ed que es necesario para aplicar los cambios.
- -3: muestra sólo las diferencias entre los 3 ficheros.
- -A: añade todos los cambios disponibles de los 3 ficheros.
- -E: la fusión de los archivos incluso en caso de que haya un conflicto específico.
Cómo identificar las diferencias entre archivos en Linux
En caso de que tenga 3 versiones del mismo fichero y los datos sean ligeramente diferentes, puede compararlas fácilmente. Una vez hecho esto, obtendrá una salida con información sobre cada línea en cada versión, en caso de que se añada una nueva línea en algún lugar verá esta información, o en caso de que una línea específica se cambie en una de esas versiones, también obtendrá estos datos.
Para la comparación de estos archivos utilice el siguiente comando:
diff3 f1.txt f2.txt f3.txt
Una vez que utilice este comando, obtendrá una salida con algunos cambios que se hicieron en las 3 versiones. Normalmente, los datos se mostrarán para cada versión con dichas cifras:
- 1:2c: significa que la primera versión tiene cambios en la 2ª línea y también verá el contenido de esta línea.
- 2:3c: significa que la segunda versión del fichero tiene cambios en la 3ª línea y verá esta línea específica.
- 3:2,3c: significa que la versión 3 tiene cambios en las líneas 2 y 3.
Combinación de archivos con diff3 en Linux
Para combinar todas estas 3 versiones de un archivo, puede utilizar la opción -m. Esto significa que se creará un nuevo archivo con todos los cambios.
diff3 -m f1.txt f2.txt f3.txt
La salida de este comando mostrará dónde hay conflictos en las líneas. Por ejemplo, en caso de que las 3 versiones tengan cambios en la misma línea, puede editar manualmente y guardar la información que realmente se necesita.
Integración de cambios de varios archivos con diff3
Para integrar los cambios de todas las versiones y crear ed script, deberá utilizar la opción -e como se indica a continuación:
diff3 -e f1.txt f2.txt f3.txt > scriptfile
Usando esta línea, creará un archivo scriptfile que incluye el script ed, que puede usarse de la siguiente manera:
ed f1.txt < fichero_script
Esto cambiará la primera versión del archivo, de acuerdo con las modificaciones realizadas en scriptfile, y puede comprobar si los cambios se han realizado con el siguiente comando:
cat f1.txt
Esto mostrará qué líneas hay en la versión f1, por lo que será mucho más fácil combinar los archivos automáticamente.
Manejo de conflictos durante las fusiones diff3
El conflicto durante la fusión se produce cuando hay una diferencia en la misma ubicación del archivo. Tales conflictos aparecen en la salida para que pueda comprobar dónde se produjo y cambiar manualmente todo. He aquí un proceso paso a paso que se debe hacer para manejar el conflicto:
- Abra el archivo donde se produjo el conflicto.
- Cambie el archivo de la manera necesaria, puede editar/eliminar las líneas.
- No olvide guardar el archivo.
Reflexiones finales
El diff3 es un gran método con la ayuda del cual se puede trabajar con varias versiones del mismo archivo. Usted puede detectar fácilmente las diferencias entre las versiones y en caso de que haya una necesidad, también puede fusionar las 3 versiones.