diff
diff es un filtro de UNIX usado para comparar el contenido de dos ficheros (especialmente código fuente).
Como resultado de tal comparación, muestra la diferencia entre las líneas de ambos ficheros (de existir).
| Indicador de diff | Significado |
|---|---|
- | línea quitada |
+ | línea agregada |
! | línea alterada |
Uso
El uso básico del mismo es:
diff fichero1 fichero2
Formatos de Diff
Diff es capaz de utilizar cuatro formatos de comparación diferentes, cuyo uso varía de acuerdo a la necesidad: contexto, unificado, edición, y silencioso.
Contexto
Si usamos la opción -c, la comparación conservará su contexto. En este modo, diff presentará una salida con un encabezado fechado, a la vez que incorpora las líneas removidas de fichero1 con el indicador de quitado - , y las líneas agregadas a fichero2 con el indicador de adicionado + (las líneas alteradas en ambos ficheros se indicarán con ! ). De no encontrar cambios luego de tres, las líneas resultantes restantes se agrupan y se omiten, lo cual se asume como “el resto de las líneas son iguales”.
Unificado
La opción -u produce una salida unificada, donde todas las líneas se comparan (donde no se produce el agrupado y omisión de las líneas similares), en tanto que la opción -U hace lo mismo, pero agrega a la salida los números de líneas.
Edición
La opción -e presenta un resultado adecuado para pasarlo por el editor ed, con la que luego se podrá utilizar para convertir fichero1 en fichero2.
Silencioso
-q sólo imprime líneas si los ficheros difieren entre sí.
Ver también: patch
