Come verificare quali file sono stati copiati sul disco rigido principale e quali non sono stati copiati?

0

Ho formattato la mia unità principale MacBook alcuni mesi fa e, per non perdere dati, ho creato un'immagine .dmg del disco rigido prima della procedura di formattazione e l'ho salvata su un dispositivo esterno.

Poi, alcuni giorni fa, ho avviato una sorta di ripristino dei dati, riconducendo la maggior parte dei file di backup all'unità principale.

Ora, vorrei verificare se tutti questi file menzionati sono stati davvero copiati sul mio Macbook. Per questo motivo, sto cercando un'applicazione teoricamente in grado di analizzare i file (in particolare, il loro nome, hash, ecc.) Contenuti nel mio disco esterno e trovare i file corrispondenti sul mio disco rigido Macintosh; se non viene trovato un file corrispondente, il file deve essere evidenziato. Se esiste un'applicazione simile, puoi suggerirmelo?

Se non è presente un'applicazione con le funzioni sopra illustrate, puoi suggerirmi un breve script Bash o AppleScript in grado di farlo? Non ho familiarità con entrambi questi linguaggi, ma ho un piccolo background di script Batch e stavo pensando ad alcune affermazioni - ad es. il for loop, md5 , ecc. - che generano un nome di file più l'elenco di checksum MD5 per entrambe le unità e che trovano le corrispondenze. Che dire di questo? Puoi suggerirmi qualche esempio?

Nota: non è lo stesso di Come confermare che un file è stato copiato su un nuovo disco senza errori? . La nuova struttura dati sull'unità principale è leggermente diversa rispetto a quella precedente, che è memorizzata nell'unità esterna. Per questo motivo, un confronto standard di cartelle / volumi con un run rsync dry non è esattamente quello che sto cercando.

    
posta rudicangiotti 11.02.2016 - 17:14
fonte

2 risposte

0

Usando un po 'di Bash e alcune buone utility è possibile confrontare MD5 di ogni singolo file. Presumo qui che lo stesso MD5 significhi lo stesso contenuto.

Crea MD5 di tutto:

find /one/dir -type f | xargs md5 > one.txt
find /other/dir -type f | xargs md5 > other.txt

Confronta ogni MD5 per trovare ciò che manca dove:

diff -u <(cut -d'=' -f2 one.txt | sort) <(cut -d'=' -f2 other.txt | sort) > diff.txt

Trovato solo in /one/dir :

grep -f <(sed -n 's/^- //p' diff.txt) one.txt

Trovato solo in /other/dir :

grep -f <(sed -n 's/^+ //p' diff.txt) other.txt

Fammi sapere se funziona.

    
risposta data 14.02.2016 - 00:48
fonte
0

Dalla mia esperienza potrei consigliare l'app Path Finder ( link ).

Ha un comando Commands -> Folder Sync molto potente che fa esattamente quello che stai chiedendo: mostra i file sincronizzati e quelli che potresti dover copiare a sinistra oa destra. Sono evidenziati con colori diversi. L'app ha un periodo di prova gratuito (perfettamente funzionante) e poi richiede un po 'di soldi, ma ne vale assolutamente la pena.

Le frecce rosse mostrano solo alcune directory casuali. È possibile selezionare il proprio, compresi quelli su volumi diversi. E puoi confrontare il contenuto del file è richiesto.

    
risposta data 11.02.2016 - 17:46
fonte

Leggi altre domande sui tag