Comparar dos archivos de texto en Linux
El comando diff
A veces podemos necesitar comparar dos archivos de texto linea por línea para determinar sus direfencias. Puede ser útil si somos programadores y queremos saber las diferencias que existen entre dos versiones de un mismo archivo (.java, .jsp, .php,...). Para ello podemos hacer uso del comando diff, que tiene la siguiente sintaxis:diff ARCHIVO1 ARCHIVO2
El comando diff examinará ambos archivos y mostrará qué cambios habría que realizar en el ARCHIVO1 y el ARCHIVO2 para que coincidan. Nos
lo indicará de la siguiente forma:
- Añadir (a)
- Eliminar (b)
- Cambiar (c)
- Las líneas en el ARCHIVO1 con un menor que (<) y las líneas de ARCHIVO2 con un mayor que(>)
Ejemplo
Si tenemos dos archivos llamados c1.txt y c2.txt con que contienen el siguiente texto:c1.txt
11111111111111111111111111
22222222222222222222222222
33333333333333333333333333
44444444444444444444444444
55555555555555555555555555
c2.txt
11111111111111111111111111
22222222222222222222222222
33333333333333333333333333
aaaaaaaaaaaaaaaaaaaaaaaaaa
55555555555555555555555555
66666666666666666666666666
77777777777777777777777777
Para compararlos nos iremos al terminal y teclearemos:
diff c1.txt c2.txt
La salida correspondiente será:
4c4
< 44444444444444444444444444
---
> aaaaaaaaaaaaaaaaaaaaaaaaaa
5a6,7
> 66666666666666666666666666
---
> 77777777777777777777777777
Es decir, si queremos modificar c1.txt para que coincida con c2.txt, tendremos que:
- Sustituir la línea 4 los "44444444444444444444444444" por "aaaaaaaaaaaaaaaaaaaaaaaaaa".
- Apartir de la línea 5, añadir la línea 6 y 7 del archivo c2.txt.
Tweet
Sea el primero en comentar
Publicar un comentario