Molto spesso voglio scoprire se il contenuto di determinate cartelle corrisponde o se il contenuto di una singola cartella è ridondante, forse per verificare se è duplicato e può essere rimosso o per assicurarsi che ci siano copie di ogni file da qualche parte.
Se le strutture di cartelle corrispondono ed i file non sono stati rinominati è possibile utilizzare diff -r
, meld
o qualunque strumento che mette a confronto le cartelle (e si ferma a lavorare se si rinomina i file o anche directory).
Se vuoi solo trovare duplicati, puoi usare strumenti come duff
o fdupes
.
Ma - e questo porta alla mia domanda - vorrei verificare / interrogare se due cartelle hanno lo stesso contenuto in base al contenuto del file (piuttosto che il contenuto del file e la base del percorso del file come con diff
) O invece di elencare i duplicati situati in una determinata cartella Voglio ottenere file senza almeno una copia da qualche parte sul mio sistema.
L'output di un possibile strumento potrebbe essere simile al seguente:
fuzzydiff folder1 folder2
Only in 1: folder1/img_1234.jpg
Only in 2: folder2/bali/very_nice_moment.jpg
Only in 2: folder2/pictures_of_me/favorite_picture.jpg
(in questo esempio le cartelle bali
o pictures_of_me
all'interno folder2
potrebbero non esistere, folder
quindi diff -r
salterebbe semplicemente la directory)
C'è qualcuno con esigenze / requisiti simili e che ha trovato un modo conveniente e affidabile per recuperare le informazioni descritte sui file system con diverse centinaia di GB fino a un paio di TB in modo efficiente ?
Sto lavorando su un sistema Linux, quindi gli approcci suggeriti dovrebbero essere Posix-ish e basi della riga di comando (per impilare / combinare i risultati).
Nel caso in cui la mia descrizione sia ancora troppo sfocata: un esempio sempre ricorrente di un problema che voglio risolvere è: voglio eliminare una grande cartella con immagini o video che ho copiato / spostato / rinominato e voglio avere un (spero così vuoto) elenco di file all'interno di questa cartella di cui non ho copie da qualche parte.
Attualmente sto scrivendo uno strumento che soddisfa i miei requisiti, ma dubito di essere il primo ad avere questo tipo di situazione / problema da risolvere. In ogni altro caso apprezzo qualsiasi suggerimento o feedback che aiuti lo sviluppo!
git
. Ma in questo modo ho solo un altro rilevatore di duplicati ma nessuna risposta alla mia domanda sulle differenze tra due cartelle. Ma +1 pergit-annex
- Ci proverò (ma dubito che funzioni per terabyte di file accumulati in decenni )