Ho due directory contenenti file di origine per un progetto che ho ereditato con poca documentazione. Come faccio a confrontare entrambe le directory per vedere quali sono le differenze. Grazie.Come faccio a confrontare due alberi sorgente in Linux?
risposta
Si può provare MELD: http://meld.sourceforge.net/ che è un meraviglioso strumento diff visiva ;-)
Grazie bunch- ho scoperto Meld tardivo dopo aver postato la mia domanda e fa più o meno quello che voglio. Sarebbe bello se non dovessi scaricare il codice sul mio computer locale come se fosse su un server remoto e (sfortunatamente) non controllato come CVS o Subversion. – freakwincy
Meld consente di vedere le differenze nella struttura ad albero così come le differenze di riga per riga nei file. Inoltre, è possibile applicare selettivamente le modifiche in una directory all'altra. Magnifico! – 18446744073709551615
In realtà avevo già utilizzato Meld per il confronto dei file, ma non ero a conoscenza del fatto che fosse fantastico per il confronto tra gli alberi. –
è possibile utilizzare il comando diff nella shell. O installare uno strumento come kdiff3
+1 per KDiff3. Funziona a meraviglia per il confronto tra directory (e sottodirectory ecc.) –
+1 - Avevo guardato KDiff3 ma non mi ero reso conto di averlo fatto a causa del mio utilizzo del drag-and-drop. È possibile * drag * n-drop directory, ma è necessario utilizzare la finestra di dialogo aperta e premere OK per avviare il confronto. – Deebster
diff -u -r dirA dirB
vi mostrerà un diff ricorsiva unificato tra le file in Dira e DIRB
Funziona anche in Cygwin, che era esattamente quello di cui avevo bisogno – crobicha
Prova questo:
diff -Naur dir1/ dir2/
- L'opzione
-u
rende l'output di un poco più facile da leggere. - I
-r
opzione recurses attraverso tutte le sottodirectory - I
-N
e-a
opzioni sono davvero necessaria solo se si voleva creare un file di patch.
Il comando diff per confrontare le directory continuava a dirmi che non avevo differenze, quando sapevo che c'erano differenze.
Invece di usare direttamente diff, ho usato un elenco ordinato di md5sums e poi confrontato i file con 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
Se la parte iniziale del percorso sta causando mal di testa, poi cambiarlo. Selezionare la finestra Path1 e digitare:
:%s|path1|path2|g
Questo sostituirà tutte le istanze di percorso1 con percorso2 nel primo file, e ora il tuo diff dovrebbe mostrare solo le differenze.
Non ho mai visto '>!' Prima. Che cosa fa? –
Suppongo che il bit '>!' Sia un refuso e che dovrebbe leggere '>'. In questo modo il comando e il processo hanno un senso. –
+1 assumendo il carattere '>!'è cambiato in'> '; l'altra variazione minore che ho fatto è stata semplicemente cambiare directory in 'path1/dir' e fare' find .' quindi non avrei dovuto cambiare manualmente i nomi dei percorsi – mpontillo
- 1. Come posso confrontare due file di codice sorgente/ast alberi?
- 2. Pseudocodice per confrontare due alberi
- 3. Come faccio a confrontare due repository git?
- 4. Come faccio a confrontare due file in Ruby 1.9?
- 5. Come faccio a confrontare due timestamp in C?
- 6. Come faccio a confrontare due colonne nella stessa tabella?
- 7. Come faccio a confrontare tutti gli elementi di due array?
- 8. Come faccio a confrontare xey in F #?
- 9. Come faccio a confrontare gli oggetti in Objective-C?
- 10. Come confrontare due revisioni SVN in XCode?
- 11. Come faccio a confrontare due hash in Perl senza usare Data :: Compare?
- 12. Come faccio a confrontare le versioni del registro in WiX?
- 13. Come faccio a confrontare semplicemente caratteri in C++?
- 14. Come confrontare due dataframes?
- 15. Come confrontare due Qstrings?
- 16. Come confrontare due hash?
- 17. Come confrontare due espressioni regolari?
- 18. Come faccio a confrontare due file usando Eclipse? C'è qualche opzione fornita da Eclipse?
- 19. Con knexjs, come faccio a confrontare due colonne nella funzione .where()? solo
- 20. Come confrontare due elementi HTML
- 21. come confrontare due elementi in jquery
- 22. Come confrontare due valori doppi in Java?
- 23. Come confrontare due date in SQLite?
- 24. Come confrontare due variabili CGSize?
- 25. Come confrontare i caratteri in due CharSequences
- 26. Come confrontare due X509Certificate2 C#
- 27. Come confrontare due stringhe in scala?
- 28. Come confrontare due immagini bordo (in OpenCV)?
- 29. Come confrontare due array in Kotlin?
- 30. Come confrontare due dizionari in C#
Con tutte le risposte giuste di cui sopra, se avete bisogno di aiuto video che ho trovato questo video utile nella mia ricerca di risposta https://www.youtube.com/watch?v=TcJkLV1EeuU –