En informática , comparar archivos consiste en comparar su contenido, aislando sus diferencias de su contenido común. El resultado de la comparación se puede mostrar en la GUI del entorno gráfico , en modo texto o como parte de una red de tareas más amplia , en un sistema de archivos o en una gestión de versiones del sistema .
Los programas de comparación de archivos más utilizados son diff , cmp (Unix) (en) o WinMerge .
Muchos editores de texto y software de procesamiento de texto utilizan la comparación de archivos para resaltar los cambios realizados en un documento.
La mayoría de las herramientas de comparación de archivos utilizan la subsecuencia común más larga entre dos archivos para eliminar o insertar según sea necesario para la presentación.
También está patentado un algoritmo de comparación específico .
El protocolo de actualización remota rsync utiliza la función hash hash Rolling (in) para comparar dos archivos en dos computadoras separadas.
Por otro lado, la comparación de archivos para el procesamiento de texto generalmente se limita al nivel de palabra, mientras que los algoritmos de nivel de línea se utilizan generalmente para la mayoría de las herramientas de programación.
Finalmente, algunas aplicaciones pueden ubicarlo a nivel de Byte o carácter .
La comparación de archivos se utiliza por varias razones. Para la comparación de archivos binarios , la comparación de nivel de bytes es sin duda la mejor. Pero para la comparación de archivos de texto , generalmente se usa una comparación visual paso a paso. Esto le da al usuario la flexibilidad de decidir qué archivo favorecer; si es necesario, por ejemplo, fusionar el contenido de varios archivos para reflejar la suma de las diferencias o contribuciones; o también si mantenerlos como están para volver a ellos más tarde; Estos mecanismos parecen ser una forma de control de versiones Este control de versiones también es importante para fines de respaldo .
La comparación de archivos también es importante y probablemente sea una parte integral de la sincronización y / o copia de seguridad de archivos. La corrupción de datos es un elemento crucial de los métodos de copia de seguridad. En teoría, este problema puede ocurrir sin previo aviso o sin que el usuario se dé cuenta. Esta es la razón por la que las herramientas de respaldo incluyen la mayoría de las veces mecanismos de comparación de archivos.
Originalmente, y mucho antes de la comparación de archivos, algunas máquinas podían comparar cintas magnéticas o tarjetas perforadas . La máquina IBM 704 , por ejemplo, podría determinar si un conjunto de tarjetas perforadas era equivalente al duplicar operaciones. En 1957 , John Van Gardner desarrolló un sistema para comparar sumas de comprobación de porciones ya cargadas de código Fortran con el fin de depurar problemas de compilación en una máquina IBM 704.