Scovare le differenze tra due directory
Vi è mai capitato di avere due cartelle da confrontare? Cioè sapere se un file è presente in entrambe o se ci sono files differenti?

A me si… ![]()
E per risolvere questo “problemino” utilizzo il solito comando diff ma con alcune opzioni, precisamente “-r –brief”:
diff -r --brief dir_a dir_b
L’output che viene prodotto è abbastanza semplice da interpretare, cioè verranno mostati i file presenti in dir_a che non lo sono in dir_b e viceversa, inoltre per ogni file presente in entrambe le cartelle, verranno mostrati quelli diversi:
Solo in dir_a: nuovo
Solo in dir_b: standard.1
I file dir_a/standard.2 e dir_b/standard.2 differiscono
spero possa tornarvi utile





Ottima segnalazione! Mi permetto di aggiungere, per chi non sopporta il terminale, che con meld può fare la stessa cosa.
Questa è telepatia!
e che trovo?
Proprio ieri mi sono trovato con un problema del genere (sono abbastanza casinista), cerco in Giro per trovare una soluzione rapida e indolore e, nel frattempo, provo a passare qua dal Maestro
Ben 2 soluzioni già pronte all’uso!!!
Grazie a entrambi
Grazie
Ma “Maestro” è troppo!
Non è troppo, te lo assicuro..
Ha funzionato perfettamente e ora ho un bell’elenco di file diversi dentro le due directory (in realtà le dir sono 4, e i confronti li ho fatti tra le prime 2, tra la 2 e la 3 e tra le ultime 2, quindi ho 3 report di differenze). Adesso devo solo trovare il modo di unire le varie directory in una sola senza combinare troppi disastri e senza fare le cose a manina, visto che si tratta di qualche centinaio di file.
Probabilmente basterebbe fare direttamente uno spostamento da Nautilus, ma quando dice “unisco tutto” e “sostituisco tutto” non capisco in base a quali specifiche unisce e sostituisce “tutto” (in pratica, non vorrei che mi sostituisse la copia recente con quella meno recente o cose simili)
Appena ho un pò di tempo, mi studierò bene il man di diff e di mv, e con le guide che mi hai indicato le volte precedenti, forse riuscirò a buttare giù qualcosa di buono.
A saperlo prima
interessante però qui, mi sa tanto che tornerò spesso, ho decisamente bisogno di una “guida”
ottima dritta ,,,,, comodissimo
Scusa l’OT, ma devo ringraziarti di nuovo e confermarti il titolo di “Maestro”
Ieri sera ho avuto un problema con la partizione di swap, improvvisamente sparita (???), vado sul forum di Ubuntu per cercare una soluzione e l’ho trovata subito, ma indovina di chi era il post che mi ha fatto risolvere?
No! Troppo!
Molto interessante, ma io ho un problema più complicato
Mi puoi aiutare?
Le due cartelle hanno vissuto una vita indipendente. Quindi molti file hanno cambiato di nome e di sottodirectory.
$ diff -r –brief dir_a dir_b |wc -l
229
Troppi falsi positivi!
La mia idea era di preparare uno script che confrontasse effettivamente i file (tramite cmp o md5sum) delle due directory, uno per uno.
Sai se c’è qualcosa di già pronto per l’uso?
Che io sappia no, ma è molto interessante come problema e credo che quella che hai indicato sia la soluzione giusta, difficile forse da implementare ma comunque la più corretta
Per il confronto posso consigliare anche l’ottimo programma “Meld” (con la “elle”!)
sudo apt-get install meld
che fa il confronto sia tra directory sia tra file, comodissimo. Il massimo è il confronto tra tre oggetti, ma in genere basta…