|
Im Laufe eines Computerlebens sammeln sich etliche Dateien in diversen Ordnern an. Darunter auch etliche Doubletten. Wie findet man die nun? find . -type f -exec shasum {} \; | sort Das ergibt eine Liste aller Dateien mit ihren Prüfsummen, sortiert nach der Prüfsumme. Die doppelten Dateien stehen dann direkt untereinander. Beispiel:
05139e49e7b7b0582e64c37f6c398a6d3b5b1626 ./image001.jpg 1cd5cb82e3edb9b86d6c3542096ae4f9db2d511a ./olLHQBbS.zip.part 5989860fb95b002ab23d75c5cd6cfb28eefa62bd ./Born_this_way-1.wmv 5989860fb95b002ab23d75c5cd6cfb28eefa62bd ./Born_this_way.wmv 5ce085a90cfb1b0f67d95d438a08adb1d09e374f ./DRP38559820-1.pdf 5ce085a90cfb1b0f67d95d438a08adb1d09e374f ./DRP38559820-2.pdf 5ce085a90cfb1b0f67d95d438a08adb1d09e374f ./DRP38559820-3.pdf 5ce085a90cfb1b0f67d95d438a08adb1d09e374f ./DRP38559820-4.pdf 5ce085a90cfb1b0f67d95d438a08adb1d09e374f ./DRP38559820.pdf 7614acd33466c5a5b76a245e8d3dcf2e7f98e29d ./DRP38559820-1.sig Hier sind mehrere Dubletten zu sehen, allerdings wirklich übersichtlich ist das nicht. Komfortabler geht es so:
find . -type f -exec shasum {} \; | sort | awk 'BEGIN{FS=" "} {if (c==$1) print "double: "$2", original is "o; else o=$2; c=$1}' Damit sieht es dann so aus: double: ./Born_this_way.wmv, original is ./Born_this_way-1.wmv double: ./DRP38559820-2.pdf, original is ./DRP38559820-1.pdf double: ./DRP38559820-3.pdf, original is ./DRP38559820-1.pdf double: ./DRP38559820-4.pdf, original is ./DRP38559820-1.pdf double: ./DRP38559820.pdf, original is ./DRP38559820-1.pdf
|