Tengo dos archivos snmpd.conf, uno en un servidor que funciona y otro que no. ¿Cómo puedo diferenciar los dos archivos de configuración mientras elimino los comentarios irrelevantes y las nuevas líneas?
linux
configuration
diff
jldugger
fuente
fuente
level
! =)Respuestas:
Para evitar líneas en blanco y líneas que no contienen más que espacios, además de líneas idénticas que tienen una única diferencia de espacios iniciales agregados ...
Sin embargo, en este punto, probablemente lo pondría en un guión y escribiría algo como la sugerencia original que es un poco más legible.
fuente
Si se siente cómodo con vim , le recomiendo que use vimdiff :
Esto abrirá una sesión vim con dos paneles, con un archivo en cada lado. Las luces y el color indicarán diferencias entre los archivos, y todas las partes idénticas estarán ocultas (plegadas, pero expandibles).
Luego, si desea fusionar selectivamente las diferencias de un archivo a otro, puede usar los siguientes comandos:
(Considere que el "archivo actual" es el que está donde está el cursor)
^ W ^ W para cambiar el foco de la ventana de un archivo a la ventana del otro archivo
] c para avanzar al siguiente bloque con diferencias
[c para invertir la búsqueda del bloque anterior con diferencias
hacer ( d iff o btain) para traer cambios del otro archivo al archivo actual
dp ( d iff p ut) para enviar cambios desde el archivo actual al otro archivo
Nota: Ambos do como dp funcionan si está en un bloque o solo una línea debajo de un bloque.
U a U NDO
zo para desplegar / ocultar texto
zc para volver a doblar / volver a ocultar el texto
zr desplegará ambos archivos completamente (use : help fold para obtener más información sobre el plegado)
: diffupdate volverá a escanear los archivos en busca de cambios
A medida que comienza a mover el texto modificado o a introducir cambios, las partes ahora idénticas de los archivos también se plegarán automáticamente.
Cuando haya terminado, puede salir y escribir ambos archivos con : xa!
También puede escribir, salir, descartar cambios, etc., un panel a la vez, como lo haría normalmente con vim.
Puede usar todos los comandos vim comunes para editar los archivos a voluntad; Solo describí los comandos más comunes y útiles que probablemente usará en una sesión de vimdiff (en lugar de una vim genérica).
fuente
¡Beyond Compare es la herramienta definitiva para esto!
Enlace: http://www.scootersoftware.com/
Disponible para Windows y Linux.
Jeff escribió un buen artículo general sobre la herramienta hace un tiempo:
http://www.codinghorror.com/blog/archives/000454.html
fuente
Ampliando el one-liner de nima, podría hacerlo como una función de shell y soltarlo en su .bashrc
se convierte (usando -u porque me gustan las diferencias unificadas)
Si le gustan los visores de diferencias de GUI, la fusión es agradable y comprende directorios / archivos controlados por revisión.
fuente
Después de limpiar los comentarios, recomendaría usar KDiff3, es una herramienta de combinación / fusión bastante buena y no necesita vim fu para usarla :)
fuente
Puede haber una forma más elegante de hacerlo, pero de manera pragmática (y rápida):
fuente
Si está utilizando un shell tipo bash, puede intentar esto:
Luego invocarlo así:
También puede cambiar
diff
avimdiff
o con losgvimdiff
que vienen ambosvim
.fuente
Al extender la solución de Xerxes, puede usar herramientas más sofisticadas que
diff
para mostrar las diferencias.wdiff
wdiff
a veces puede ser "demasiado inteligente", pero a menudo me resulta útil para echar un vistazo rápido a las diferencias entre los archivos de configuración. Este script se puede usar para la salida con colores:En Ubuntu y otros sistemas basados en Debian, solo
apt-get install wdiff
antes de usar este script.Fusión
Meld es una buena alternativa de GUI, pero su función "Filtrado de texto" tiene algunos problemas. En lugar de utilizar el filtrado de texto, elimino los comentarios por completo antes de mostrar los resultados en Meld. El inconveniente es perder la capacidad de editar los archivos al compararlos. Aquí hay un script simple para usar Meld:
fuente
A veces, se pueden eliminar varias líneas comunes adicionales clasificando los archivos antes de la diferencia, por lo que agregaría a lo que ya está escrito lo siguiente:
esto, por supuesto, tiene sentido para los archivos donde el orden de las líneas no afecta su contenido (así que tenga en cuenta).
fuente
Esto es lo mismo que el trazador de líneas de nima, pero también filtrará las líneas en blanco como alguien solicitó.
(También instalaría colordiff si es posible y lo usaría en lugar de la diferencia normal)
fuente
Uso WinMerge http://winmerge.org para diferenciar archivos, dado que tengo que bajarlos a mi máquina, pero funciona.
fuente