GNU/Linux >> Tutoriales Linux >  >> Linux

Una introducción al comando diff

El comando diff del paquete diffutils compara archivos línea por línea. Es muy útil cuando desea verificar si hubo cambios recientes en un archivo desde la última copia de seguridad y cuáles son. Un estado de salida de 0 significa que no se encontraron diferencias, 1 significa que se encontraron algunas diferencias y 2 significa problema. Y por supuesto, si hay cambios, diff te los mostrará. Pero echemos un vistazo a algunos ejemplos.

Ejemplo 1:Ambos archivos tienen el mismo contenido

Alice y Bob están haciendo una barbacoa cada uno y han publicado sus menús. Para decidir qué menú disfrutaría más, podría comparar los menús de la siguiente manera:

$ diff menu1 menu2
$ echo $?
0
$ cat menu{1,2}
# The menu
* Spare Ribs
* Brisket
* Pulled Pork
# The menu
* Spare Ribs
* Brisket
* Pulled Pork

Verá, ambos están sirviendo costillas de cerdo, pechuga y cerdo desmenuzado. No hay diferencia entre ambos archivos. Tal vez Alice y Bob deberían unir fuerzas para organizar una gran barbacoa.

Cuando Eve escuchó que Alice y Bob estaban organizando fiestas, se puso celosa y decidió organizar una barbacoa también. Su menú viene con el archivo menu3 . Bueno, veamos cuáles son las diferencias en su menú en comparación con el de Alice y el de Bob.

Ejemplo 2:Ahora hay bebidas involucradas

$ diff menu1 menu3
4a5,8
> 
> # Drinks
> * Soda
> * Beer
$ echo $?
1
$

Ahora hay diferencias. Y, con la salida en la primera línea, diff nos dice qué se debe agregar (a) a menu1 para que tenga el mismo contenido que menu3 . Entonces, 4a5,8 significa que debe agregar algunas líneas después de la línea 4 en menu1 para que se vea como las líneas 5-8 en menu3 .

Al cambiar la posición de los archivos, la salida se ve diferente:

$ diff menu3 menu1
5,8d4
< 
< # Drinks
< * Soda
< * Beer

Ahora, diff nos dice que las líneas 5-8 en menu3 debe eliminarse (d) para que el archivo sea idéntico a menu1 .

Ejemplo 3:Cuando hay algo que cambiar

He editado menu1menu2 de nuevo para verse así:

# The menu
* Spare Ribs
* Brisket
* Pulled Pork

# The menu
* Spare Ribs
* Pulled Pork
* Pulled Pork

Esta vez, diff nos mostrará qué línea debe cambiarse (c) para que ambos archivos se vean iguales:

$ diff menu1 menu2
3c3
< * Brisket
---
> * Pulled Pork

Envolviéndolo

La diff command es una herramienta fácil y flexible de usar para comparar archivos línea por línea. Echa un vistazo a diff(1) para descubrir qué más se puede hacer con diff .

[ ¿Quiere poner a prueba sus habilidades de administrador de sistemas? Tome una evaluación de habilidades hoy. ]


Linux
  1. Una introducción al uso de tcpdump en la línea de comandos de Linux

  2. Introducción al comando chmod de Linux

  3. Introducción al comando chown de Linux

  4. Domina el comando ls de Linux

  5. Una introducción a las utilidades principales de GNU

Guía de Ansible:el comando ad-hoc

Explicación del comando tar de Linux

Domina la línea de comandos de Linux

Comando diff en Linux

Una introducción al registro de contenedores de Quay

El comando del temporizador en Linux