Tengo dos directorios que contienen archivos fuente en un proyecto que heredé con poca documentación. ¿Cómo comparo ambos directorios para ver cuáles son las diferencias? Gracias.¿Cómo comparo dos árboles fuente en Linux?
Respuesta
Usted puede tratar de MELD: http://meld.sourceforge.net/ que es una herramienta visual de diferencias maravillosa ;-)
Gracias, un montón, descubrí Meld tardía después de haber publicado mi pregunta y hace más o menos lo que quiero. Sería bueno si no tuviera que descargar el código en mi máquina local, ya que está en un servidor remoto y (desafortunadamente) no está registrado como CVS o Subversion. – freakwincy
Meld le permite ver los difs en la estructura del árbol, así como los diffs línea por línea en los archivos. Además, puede aplicar selectivamente los cambios en un directorio a otro. ¡Magnífico! – 18446744073709551615
Ya había usado Meld para las comparaciones de archivos, pero no sabía que era genial para comparar árboles. –
puede usar el comando diff en la cáscara. O instalar una herramienta como kdiff3
+1 para KDiff3. Funciona bien para comparar directorios (y subdirectorios, etc.) –
+1 - Miré KDiff3 pero no me di cuenta de que lo hizo debido a que usé el método de arrastrar y soltar. Usted * puede * arrastrar y soltar directorios, pero necesitará usar el diálogo de abrir y presionar OK para que comience la comparación. – Deebster
diff -u -r dirA dirB
Le mostrará un diff recursivo unificado entre los archivos de DIRA y dirB
Esto también funciona en Cygwin, que era exactamente lo que necesitaba – crobicha
Prueba esto:
diff -Naur dir1/ dir2/
- La opción
-u
hace que la salida de una poco más fácil de leer. - Los
-r
recursivamente opción a través de todos los subdirectorios - Los
-N
y-a
opciones son realmente sólo es necesario si desea crear un archivo de revisión .
El comando diff para comparar directorios me decía que no tenía diferencias, cuando sabía que había diferencias.
En lugar de utilizar directamente diff, que utiliza una lista ordenada de md5sums y luego se compararon con aquellos archivos diff:
find /path1/dir/ -type f -exec md5sum {} + | awk '{print $2 $1}' | sort >! path1.log
find /path2/dir/ -type f -exec md5sum {} + | awk '{print $2 $1}' | sort >! path2.log
gvimdiff path1.log path2.log
Si la parte inicial de la ruta está causando dolores de cabeza, y luego cambiarlo. Seleccione la ventana Ruta1 y tipo:
:%s|path1|path2|g
Esto reemplazará todas las instancias de rutaDeAcceso1 con via2 en el primer archivo, y ahora su diff sólo debe mostrar las diferencias.
¡Nunca antes había visto '>!'. ¿Qué hace? –
¡Voy a suponer que el bit '>!' Es un error tipográfico y que debería leer '>'. De esa forma, el comando y el proceso tienen sentido. –
+1 suponiendo que '>!'se cambia a'> '; la otra variación menor que hice fue simplemente cambiar el directorio a 'path1/dir' y hacer' find .' para no tener que cambiar manualmente las rutas – mpontillo
- 1. ¿Cómo comparo dos hashes?
- 2. ¿Cómo comparo dos repositorios git?
- 3. ¿Cómo comparo dos archivos en Ruby 1.9?
- 4. ¿Cómo comparo dos matrices en scala?
- 5. ¿Cómo comparo dos objetos jQuery para identidad?
- 6. ¿Cómo comparo elementos de dos matrices?
- 7. ¿Cómo comparo dos instancias de AssemblyName?
- 8. ¿Cómo comparo los contenidos de dos dlls?
- 9. ¿Cómo comparo dos estructuras de datos complejas?
- 10. ¿Cómo comparo dos directorios mientras ignoro ciertos nombres de directorio?
- 11. ¿Cómo comparo dos muestras de voz en iOS?
- 12. ¿Cómo comparo dos columnas en la misma tabla?
- 13. ¿Cómo comparo dos hashes en Perl sin usar Data :: Compare?
- 14. ¿Cómo comparo dos imágenes de borde (en OpenCV)?
- 15. Cómo puedo fusionar dos árboles binarios
- 16. árboles de códigos fuente: anchos o profundos
- 17. ¿Cómo comparo dos PropertyInfos o métodos de manera confiable?
- 18. ¿Cómo comparo todos los elementos de dos matrices?
- 19. Concatenar/fusionar/unir dos árboles AVL
- 20. Determine si dos árboles binarios son iguales
- 21. ¿Cómo comparo objetos en Objective-C?
- 22. ¿Cómo puedo "interconectar" dos enchufes en Linux?
- 23. ¿Cómo comparo frases de similitud?
- 24. ¿Cómo comparo las cadenas en Bourne Shell?
- 25. ¿Cómo comparo string y boolean en Javascript?
- 26. ¿Cómo comparo los valores empaquetados en Perl?
- 27. Cómo comparo versiones de RPM en python
- 28. ¿Cómo comparo dos variables de cadena en una instrucción 'if' en Bash?
- 29. árboles en Haskell
- 30. ¿Cómo comparo dos funciones para la igualdad del puntero en la última versión de Go weekly?
Con todas las respuestas correctas proporcionadas anteriormente, si necesita ayuda con algún video, encontré este video útil en mi búsqueda de respuestas https://www.youtube.com/watch?v=TcJkLV1EeuU –