¿Cómo puedo trazar los resultados de un comando Unix diff de lado a lado en lugar de una diferencia tras otra? Vea a continuación un ejemplo:
diff /tmp/test1 /tmp/test2
1,4c1,2
< asfdsadf
< asdfsad
< fsaf
< fdsadf
---
> asdfsafdsf
> saf
6,8d3
< sadf
< asdf
< sadf
10d4
< fasd
12,13c6,14
< sadfa
< fd
---
> sadf
> sadf
> sadf
> sadf
> sadf
> sadf
> sadf
> sadf
> safa
Me gustaría tener algo como:
diff /tmp/test1 /tmp/test2
1,4c1,2
< asfdsadf > asdfsafdsf
< asdfsad > saf
< fsaf
< fdsadf
---
6,8d3
< sadf
< asdf
< sadf
10d4
< fasd
12,13c6,14
< sadfa > sadf
< fd > sadf
--- > sadf
> sadf
> sadf
> sadf
> sadf
> sadf
> safa

Respuestas:
Desde
man diff, puede utilizar-ypara hacer uno al lado del otro.Por lo tanto, di:
Prueba
Vamos a compararlos:
fuente
difftiene un ancho de salida máximo codificado de forma rígida (130 columnas). Agregue la opción diff--width=$COLUMNSpara establecer esto en el ancho de su terminal.diff -y /tmp/test1 /tmp/test2 | lessdiff --width=$COLUMNS --suppress-common-lines --side-by-side a bdiff --expand-tabs --width=$COLUMNS --suppress-common-lines --side-by-side a bDesde la página de inicio de icdiff :
En mi humilde opinión, su salida es mucho más legible que
diff -y.fuente
fuente
-ymuestra líneas comunes que no son lo mismo quediffla pregunta original. +1.diff -W $COLUMNS --suppress-common-lines -y file1 file2Puedes usar:
o
o
para visualización lado a lado.
fuente
diff -yysdiff? Su salida me parece idéntica.Debería tener
sdiffuna combinación de diferencias de archivos en paralelo. Leaman sdiffla historia completa.fuente
sdiffparece hacer lo mismo quediff -yy lasdiffdocumentación de información dice que está obsoleto: "'sdiff' sin '--output' ('-o') produce una diferencia de lado a lado. Este uso es obsoleto; use la opción '--side-by-side' ('-y') de 'diff' en su lugar. "Simplemente puede usar:
¡Muestra la salida dividida en dos columnas y coloreada! (
colordiff)fuente
brew install colordiffConsulte la fórmula de colordiffUtilice la
-yopción:fuente
Pruebe cdiff : vea diferencias incrementales en color en el espacio de trabajo o desde stdin con soporte de localizador automático y en paralelo.
fuente
Puede utilizar
vimdiff.Ejemplo:
fuente
Si sus archivos tienen un uso inconsistente de espacios y pestañas, puede resultarle útil incluir el
-targumento para expandir las pestañas:fuente
Comando diff mejorado con color, lado a lado y alias
Digamos que el contenido del archivo es como:
y
Ahora comparando lado a lado
Puede definir un alias para usar
Entonces nuevo resultado diferencial:
fuente