El comando diff de Linux analiza un archivo línea por línea y genera una lista de cambios realizados entre dos archivos.
El comando diff es la abreviatura de difference, que en esencia da las diferencias entre dos archivos .
A diferencia del cmp
(comparar) y comm
comandos, diff resalta la línea específica que debe cambiarse para que coincida con los otros archivos.
Una cosa que los administradores de Linux no pueden olvidar es que diff usa símbolos e instrucciones para hacerlo más efectivo.
Los símbolos específicos le indican al comando que cambie el archivo de una manera particular para que coincida con el segundo.
Símbolos especiales en la salida del comando diff:
- a:añadir
- c:cambiar
- d:borrar
Sintaxis del comando diff de Linux
diff [options] File1 File2
Echemos un vistazo a los ejemplos de uso del comando diff.
Caso 1:Cambio
Supongamos que tenemos dos archivos:x.txt y y.txt
x.txt contiene el siguiente contenido.
California
Miami
Ohio
Kansas
Texas
y.txt contiene el siguiente contenido.
California
Nevada
Georgia
Kansas
Texas
Ahora, use el comando diff para hacer la comparación entre los dos archivos como se muestra.
$ diff x.txt y.txt
Salida de muestra
Examinemos la salida con más detalle.
El 2,3c2,3
línea implica que las líneas 2 y 3 del primer archivo deben cambiarse para que coincidan con las líneas 2 y 3 del segundo archivo de texto.
Explicación de los símbolos de salida del comando diff
Veamos brevemente los diversos símbolos que se encuentran en la salida.
- El símbolo menor que indica líneas desde la primera línea
- El símbolo mayor que indica líneas desde la segunda línea
a - Denotes that text was added to the file
c - Denotes that changes were made in the file
d - Indicates that the line was expunged or deleted
Echemos un vistazo a otro ejemplo.
Caso 2:Adición
Tenemos dos archivos de texto:
El archivo archivo 1.txt tiene el siguiente contenido.
Linux is a great operating system
It's free and opensource
It's light and stable
I would highly recommend it
archivo2.txt tiene el siguiente contenido.
Linux is a great operating system
It's free and opensource
It's light and stable
Oh ! It can be installed on almost any PC hardware
I would highly recommend it
Utilice el comando diff para comparar ambos archivos.
$ diff file1.txt file2.txt
Salida de muestra
Del resultado anterior, 3a4
implica que después de la línea 3 del primer archivo, se debe agregar otra línea para que coincida con la línea 4 del segundo archivo .
Caso 3:Eliminación
Considere dos archivos como se muestra a continuación.
archivo3.txt con el siguiente contenido.
Apples
Oranges
Mangoes
Peaches
Bananas
Grapes
Y archivo4.txt que tiene el siguiente contenido.
Apples
Oranges
Mangoes
Bananas
Grapes
Nuevamente, use el comando diff para comparar ambos archivos.
$ diff file3.txt file4.txt
Salida de muestra
Aquí la salida 4d3 significa que elimine la cuarta línea del primer archivo para sincronizar con el segundo archivo en la línea número 3.
Conclusión
El comando diff de Linux es una utilidad simple para comparar dos archivos. Es útil para verificar los cambios entre dos versiones de un archivo de texto.