C'è un modo per trovare file simili (non duplicati)?


12

Il mio obiettivo finale è il codice di refactoring scritto dai miei colleghi. Quindi, esiste uno strumento in grado di trovare file che differiscono in poche parole?

(Modifica: questo è per un Mac, ma ad altri potrebbero piacere anche risposte non Mac.)


@harry, vista la cronologia delle revisioni , immagino tu abbia pubblicato una risposta di Windows, che è stata sottoposta a downgrade perché solo allora è emerso il requisito del Mac? Preferirei che il requisito Mac venisse meno e vedere anche la tua risposta (se fosse una buona risposta non Mac)!
Arjan,

@Arjan: Fatto.
harrymc,

Per un Mac, mi chiedevo se Spotlight potesse essere usato. Ne dubito, ma se conosci un modo di fare le cose in Spotlight, il mdfindcomando potrebbe aiutare a scrivere alcuni script per automatizzare le cose. Tuttavia, penso che utilizzerà sempre solo i metadati. Quindi la ricerca di file simili potrebbe limitare il tipo di file, ma non il contenuto del file. Nessun sigaro
Arjan,

Risposte:


5

Simian lo fa per il codice sorgente di alcune lingue. È meglio trovare codifica copia-e-incolla palese. I suoi sviluppi sembrano essersi arrestati, ma funziona abbastanza bene.


Non ha aiutato molto - nell'app Rails con molti parziali molto simili ha detto solo che ho linee simili in development.log
tig

Gli hai dato i file giusti da analizzare? Probabilmente ti importa delle tue fonti, no development.log. Per le rotaie dai un'occhiata a flay rubyforge.org/frs/…
Benjamin Bannier,

Sì ho dato tutti i file in applicazione Rails dir
TIG

2

(Per Windows)

Il prodotto Anti-Twin (gratuito per uso privato) afferma di essere in grado di farlo:

Se si desidera che Anti-Twin non solo cerchi duplicati completi, ma anche file simili, è possibile ridurre la corrispondenza minima desiderata dal valore predefinito del 100% fino al 60%. Questa funzione è stata appositamente progettata per la ricerca di file quasi identici in cui è stato modificato solo un piccolo dettaglio. Anti-Twin utilizza la ricerca di somiglianza non appena si immette un valore inferiore al 100%. Il confronto delle somiglianze richiede molto più tempo della ricerca duplicata completa al 100%!

Sfortunatamente, la ricerca della somiglianza come parte del confronto byte per byte ha senso solo per alcuni tipi di file, perché una somiglianza può essere rilevata solo se i file non sono compressi e non crittografati. I file non compressi sono ad esempio testi non formattati (.TXT) e HTML.


Sono su Mac e eseguo qualcosa attraverso il vino, i paralleli o qualcosa del genere non renderà il refactoring più semplice, solo più difficile :)
tig

@tig: avresti dovuto specificarlo nel tuo post. Ho aggiunto il tag mac.
harrymc,

@Arjan: ho annullato questa risposta, come da lei richiesto.
harrymc,

giustamente! Rimosso di [mac]nuovo il tag. Avrebbe dovuto essere [osx]comunque ;-)
Arjan,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.