Home / Administrador de sistemas / ¿Cómo comparar dos archivos en Linux?

¿Cómo comparar dos archivos en Linux?

Ubuntu distribucion linux

Pregunta: Tengo dos archivos de código en mi servidor y no se cuál es cuál. ¿Cómo puedo comparar dos archivos para detectar automáticamente la diferencia entre ambos?

Respuesta: Los sistemas operativos basados en UNIX permiten usar un comando específico para esta tarea, se llama “diff”. Este comando mostrará por la consola todas las diferencias entre los archivos que le indiquemos, línea por línea, con el máximo detalle. Esto resulta especialmente útil para los programadores, que normalmente modifican archivos y si no son estrictamente ordenados, puede confundir el modificado con el que no lo está.

Para usarlo, escribimos en la terminal:

diff codigo1.php codigo2.php

Hará un recorrido por ambos archivos comparando sus contenidos y mostrará por pantalla algo parecido a lo siguiente:

if(!function_exists(‘add_action’)){
header(‘HTTP/1.0 404 Not Found’);
header(‘Location: ../../’);
> exit();
}

Podríamos interpretar este resultado del siguiente modo. En el primer archivo rastreado, “exit();” no aparece, mientras que en el segundo archivo sí. Fácil, ¿verdad? Mañana veremos como podemos juntar los contenidos de dos archivos de forma automática.

Fotografía | www.flickr.com

Compruebe También

Como usar MySQL desde la línea de comandos

Como ya hemos mencionado en algunos posts anteriores, saber utilizar MySQL y administrar bases de …

2 Comentarios

  1. Hola
    si nos quedamos con herramientas básicas, hay también sdiff. El funcionamiento es igual a diff, pero imprimará en la pantalla ambos los ficheros, en 2 columnas, indicando linea por linea las eventuales diferencias.

    Si se usa emacs para editar ficheros, se puede utilizar la herramienta llamada ediff. Como estamos en ambiente gráfico, las diferencias serán evidenciadas con colores, con la posibilidad de copiar parte de un fichero en el otro, y vice versa.

  2. data_internetlab

    Hola ruthven,

    Muy bien visto, conozco el comando sdiff y es realmente útil. Mañana publicaré un post sobre este otro método. ¡Muchas gracias por tu comentario!