2012-04-10 12 views
21

Sto scrivendo uno script bash e mi piacerebbe sapere quali file sono uguali in due alberi di directory.dato due alberi di directory come trovare i file uguali?

Sarebbe il contrario di utilizzare diff.

Beh, ho trovato la risposta da solo. L'avevo già provato, ma pensavo che non funzionasse.

diff -srq dir1/ dir2/ | grep identical 
+4

Per quale applicazione di 'same'? Nome? Inode? Dimensione? Soddisfare? Mod Time? Proprietario? Gruppo? Permessi? – MattH

+0

Pubblica i tuoi risultati come risposta – KurzedMetal

risposta

27

Beh, ho trovato la risposta da solo. L'avevo già provato, ma pensavo che non funzionasse.

diff -srq dir1/ dir2/ | grep identical 

Cosa -srq mezzi? Da diff --help:

-s --report-identical-files Report when two files are the same. 
-r --recursive Recursively compare any subdirectories found. 
-q --brief Output only whether files differ. 
9

È possibile utilizzare un programma di utilità come fdupes o rdfind per elencare i file duplicati. Per esempio:

fdupes --recurse dir1 dir2 

Si potrebbe anche voler utilizzare il flag --sameline per elencare tutti i duplicati sulla stessa linea, piuttosto che in blocchi di testo, a seconda di come si desidera analizzare i risultati.

+0

Questa tecnica rileva anche file identici con nomi diversi. Non sono sicuro se il diff possa essere modificato per fare lo stesso – Giuseppe

Problemi correlati