Entonces, ¿cómo es el "diferencia"Comando realmente funciona? El "diferenciaEl comando "compara los dos archivos y genera una lista de diferencias entre ambos archivos. Más precisamente, produce una lista de modificaciones que deben realizarse en el primer archivo para que coincida con el segundo archivo. El "diferenciaLos programadores también utilizan el comando para obtener la diferencia entre dos archivos de código fuente para desarrollar parches.
Antes de sumergirse en los ejemplos, tenga en cuenta que el orden de los archivos es muy importante. Porque el "diferenciaEl comando "proporciona salida en función del orden de los archivos.
Cómo usar el comando "Diff" en Linux para comparar archivos:
La sintaxis del "diferenciaEl comando se menciona a continuación:
$ diff [opciones] [file1] [archivo2]
Primero, crea dos archivos. Estoy creando archivos de texto con el nombre de "Test_file_1.TXT" y "Test_file_2.TXT". Estos archivos contienen contenido con una ligera diferencia:
Ahora use el siguiente comando para obtener la diferencia:
$ diff test_file_1.txt test_file_2.TXT
La salida estándar mostró las líneas que coinciden de acuerdo con el orden de los archivos mencionados en el comando. Entonces, decodificemos la salida:
La comparación de los archivos está etiquetada, y cada etiqueta tiene un número a cada lado. El formato es el siguiente:
[Número de línea del archivo 1] [etiqueta (a, c, d)] [Número de línea del archivo 2]
Hay tres etiquetas:
"2d1" indica que elimina la línea número 2 del primer archivo que coincide con el segundo archivo de la línea número 1.
Similarmente, "4C3" significa hacer un cambio en la cuarta línea del primer archivo para que coincida con la línea número 3 del segundo archivo, ya que ambas líneas son ligeramente diferentes.
Hay otro método para ver la diferencia, usar el "Diff" comando con el "-Y" opción:
$ diff -y -w 60 test_file_1.txt test_file_2.TXT
En la salida anterior, el contenido de "Test_file_1.TXT" se muestra en el lado izquierdo, mientras que el contenido de "Text_file_2.TXT" se muestra en el lado derecho. La diferencia está indicada por los símbolos:
El "-W" indica el ancho entre el contenido de dos archivos. Para obtener por separado y ver la diferencia, use lo siguiente:
$ diff -y -W 60 -supresión -common-lines test_file_1.txt test_file_2.TXT
Cómo obtener la salida en una línea usando el comando "Diff":
Si el método etiquetado es difícil para usted decodificar, entonces hay un enfoque más simple. Utilizando el "-Q" opción con el "Diff" El comando le da salida en una línea. Bueno, sin ninguna información adicional, sin embargo:
$ diff -q test_file_1.txt test_file_2.TXT
Si los archivos difieren, entonces el comando anterior dará una salida. Si los archivos son idénticos, entonces no habrá salida. Para demostrarlo, estoy creando una copia de "Test_file_1.TXT" usando:
$ CP test_file_1.txt test_file_3.TXT
Se creará un nuevo archivo con el nombre de "Test_file_3.TXT" que contiene el mismo contenido que "Test_file_1.TXT" tiene. Ahora usa:
$ diff -q test_file_1.txt test_file_2.TXT
Dado que ambos archivos tienen contenido similar, por lo tanto, no habría salida.
Cómo verificar la diferencia de archivos en modo de contexto utilizando el comando "Diff":
Para obtener la comparación en modo de contexto, el "-C" La opción se utilizará con el "Diff" dominio:
$ diff -c test_file_1.txt test_file_2.TXT
Diseccionemos la salida.
Para mantener la diferencia, el primer archivo se indica mediante "***" junto con la fecha y hora de la creación, mientras que el segundo archivo se indica por "-".
La siguiente línea significa un rango de líneas consideradas durante la comparación. Para el primer archivo, es "*** 1,6 ****" y para el segundo archivo, es "-1,5--":
La diferencia está indicada por los símbolos:
Cómo verificar la diferencia de archivos en modo unificado usando el comando "Diff":
El modo unificado es bastante similar al modo de contexto pero sin información redundante. La bandera que usamos es "-U":
$ diff -u test_file_1.txt test_file_2.TXT
En la salida, el primer archivo se indica por "-" y el segundo por "+++". La segunda línea muestra el número de líneas consideradas para la comparación en ambos archivos, luego el contenido se eliminará, agregará o modificará con los símbolos con ellos. No habrá símbolo con líneas similares en ambos archivos.
Cómo ignorar la sensibilidad del caso mientras se usa el comando "Diff":
Si desea comparar los archivos mientras ignora la sensibilidad del caso, use el "-i" bandera:
$ diff -i test_file_1.txt test_file_2.TXT
Para la demostración, he hecho el "D" de "Profundo" En el primer archivo pequeño:
Como se ve en el primer comando, se indica la diferencia; durante el uso "-i" Esa diferencia ha sido eliminada.
Algunas otras opciones útiles del "Diff" Los comando se enumeran a continuación:
Opción | Descripción |
---|---|
-a | Esta opción trata todos los archivos como archivos de texto |
-B | Ignora la modificación donde las líneas están en blanco |
-mi | Esta opción ignora la expansión de la pestaña |
-I | Ignora los cambios donde coinciden todas las líneas |
-s | Da salida cuando dos archivos son idénticos |
-w | Ignora todo el espacio en blanco |
-Z | Ignora el espacio en blanco en el extremo de la línea |
Cómo usar el editor VIM para comparar dos archivos:
Otro método para comparar dos archivos es usar el "Vimdiff" dominio. Para eso, debe tener instalado VIM:
$ sudo apt install vim
Ahora, para comparar dos archivos, use:
$ vimdiff test_file_1.txt test_file_2.TXT
Ambos archivos se abrirán uno al lado del otro. La parte que no coincide se resaltará:
Cómo comparar dos archivos usando "colordiff":
Otro enfoque es una especie de extensión del "Diff" dominio. Puede hacer que la comparación sea más identificable agregando colores. Para instalar uso:
$ sudo apt instalación colordiff
Para comparar archivos, use:
$ Colordiff test_file_1.txt test_file_2.TXT
Puedes reemplazar "Diff" con "Colordiff" Para obtener la salida estándar del "Diff" comando en formato de color.
Conclusión:
Para comparar archivos en Linux e incluso en macOS, una utilidad utilizada se llama "Diff". La utilidad "Diff" compara dos archivos y proporciona información sobre las diferencias entre los dos archivos. Los desarrolladores usan principalmente el comando "Diff" para crear archivos de parche.
En esta guía, discutimos a fondo el "Diff" comando y cómo usarlo para comparar dos archivos con diferentes opciones. También aprendimos a usar "Colordiff" Para hacer que las diferencias de archivo sean más reconocibles. Pero si encuentra una utilidad basada en el terminal difícil de usar, también hay algunas herramientas basadas en GUI, como Kompare, Diffmerge, Meld - Diff Tool y Diffuse - Gui Giff Tool.