¿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-y
para hacer uno al lado del otro.Por lo tanto, di:
Prueba
Vamos a compararlos:
fuente
diff
tiene un ancho de salida máximo codificado de forma rígida (130 columnas). Agregue la opción diff--width=$COLUMNS
para establecer esto en el ancho de su terminal.diff -y /tmp/test1 /tmp/test2 | less
diff --width=$COLUMNS --suppress-common-lines --side-by-side a b
diff --expand-tabs --width=$COLUMNS --suppress-common-lines --side-by-side a b
Desde la página de inicio de icdiff :
En mi humilde opinión, su salida es mucho más legible que
diff -y
.fuente
fuente
-y
muestra líneas comunes que no son lo mismo quediff
la pregunta original. +1.diff -W $COLUMNS --suppress-common-lines -y file1 file2
Puedes usar:
o
o
para visualización lado a lado.
fuente
diff -y
ysdiff
? Su salida me parece idéntica.Debería tener
sdiff
una combinación de diferencias de archivos en paralelo. Leaman sdiff
la historia completa.fuente
sdiff
parece hacer lo mismo quediff -y
y lasdiff
documentació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 colordiff
Consulte la fórmula de colordiffUtilice la
-y
opció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
-t
argumento 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