Comparación de archivos

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.

Métodos

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 .

Lógica subyacente

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.

Histórico

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.

Notas y referencias

  1. (en) Ejemplo de modo Diff para GNU Emacs
  2. (en) LibreOffice
  3. (en) Patente de EE . UU. 7.031.972
  4. (en) Ejemplo de software privateur BBEdit.
  5. Tenga en cuenta que la comparación visual también es necesaria para los archivos de programa, generalmente el código fuente , que se basan en lenguajes de programación y, por lo tanto, son legibles por humanos o con secuencias de comandos .
  6. (in) Ejemplo de herramientas dwim vc-vc-chlog y el proyecto GNU .
  7. (in) Ejemplo de una copia de seguridad con SystemRescueCd y rsync .
  8. (in) [PDF] "  Fortran y el proyecto Génesis de Intercept  " - por John Van Gardner

Artículos relacionados