A blog about data, information and IT, by Mario Alberich

Feb 13
2014

diff con resultados side by side

El comando diff es para mí una de esas pocas herramientas clave en la consola de linux, necesarias en mi día a día, en mis tareas de programación y en general para buscar y comparar archivos de texto. Esta utilidad salva muchas vidas en cuanto a errores y seguimiento de la tarea hecha, además que localiza detalles imposibles de encontrar navegando por el código. Estas son tareas clave cuando se trata de un equipo de programación, y no es uno mismo quien programa.

En ese hábito de uso de diff, me he descubierto centrándome en utilizar una pequeña serie de opciones de la utilidad, sin entrar en su manual y ver otras opciones aplicables. Voy a comentar algunas utilidades en diversos artículos para quien pueda resultar útil.

Diff en vista lateral


Esta utilidad muestra por defecto el resultado de las diferencias en una vista vertical. Para diferencias concretas es fácil de analizar, pero si el archivo es largo y hay varios cambios, resulta complicado seguir la lista de cambios sin perderse.

diff archivo1.txt archivo2.txt

Solución: si utilizas la opción "-y", podrás ver el resultado del diff a un lado y a otro de la pantalla:

diff -y archivo1.txt archivo2.txt

El tamaño de ancho por defecto para esta función es de 130 caracteres (unas 60 columnas de texto y algunos centrales usados para dar formato a la salida de diff). En los tiempos actuales es posible que dispongamos de una pantalla panorámica que permita mostrar un mayor ancho. Si quieres ampliar este tamaño, puedes utilizar la opción --width=NUM:

diff -y --width=180 archivo1.txt archivo2.txt

Con este formato es posible ver de una forma más lineal las diferencias. En la parte central del listado se puede distinguir una columna con los caracteres < (hay añadido en el archivo izquierdo), | (contenido idéntico), y > (añadido en la parte derecha).

Tags

gestión documental 10     Recuperación información 11     Linux 7     Usabilidad 5     open source 3     Tagging 12     lógica borrosa 2     fuentes de información 12     Google 6     off-topic 6     spam 2     grafos 6     Web social 11     modelización 12     Productividad 11     buscadores 2     utilidades 17     Profesionales 9     SEO 5     estándares 3     veracidad 3     relevancia 2     lingüística 2     PLN 2     lenguajes documentales 2     apis-mashups 3     reseñas 7     Flash 7     Gráficos estadísticos 13     Publicidad 3     Innovación 5     muestreo estadístico 9     PHP 14     internet 2     testeo 12     desarrollo 3     visualizacion 36     javascript 16     datos abiertos 9     elecciones 2     simulación 5     html5 7     phing 9     ssh 2     seguridad 3     indicadores 2     demografía 3     media 2     algoritmos 7     shell 4     mysql 2     backup 2     big data 6     twitter 2     d3js 11     revealjs 2     metodología 6     data-journalism 6     smartcities 2     NYT 2     privacidad 3     benchmarking 4     recopilaciones 21     magento 5     formacion 2     github 2     HHVM 3     psicología 2     angularjs 3     grep 2     nodejs 5     promises 2     mapreduce 3     crossfilter 2     exploración de datos 2     machine learning 2    

© 2007 and beyond Mario Alberich, licensed under CC-BY-SA unless stated otherwise.