fdupes BTW: schnelleres Shell-Skript
Basti
basti at owl-soft.de
Mon Dec 4 08:52:06 CET 2017
Hallo Georg,
dein Script ist schneller, weil fdupes zusätzlich noch einen kompletten Binärvergleich von den vermeintlichen Doublen macht.
Das kann man als Vor oder Nachteil sehen. Hängt denke ich mal auch vom Anwendungsbereich ab.
Aber danke für das Script.
Gruß
Basti
Am Sonntag, 3. Dezember 2017 schrieb Georg Gottleuber:
> Hi,
>
> weil ich so eine Funktionalität auch schon brauchte bevor ich von der
> Existenz von fdupes wusste, hab ich mir ein Shellskript geschrieben.
>
> Neulich ließ ich beide Programme über ein Verzeichnis laufen und war
> erstaunt, dass meine Shell-Version schneller ist :-) (und es lag nicht
> am Filesystem-Cache)
>
> ### aus meiner .bashrc ##############################################
>
> # doppelte Dateien finden (md5sum)
> # funktioniert wie folgender Befehl nur viel schneller:
> # find . -type f -exec md5sum {} \; |sort|uniq -D --check-chars=32
> finddoubles()
> {
> if [ "$1" == "--help" -o "$1" == "-h" ]
> then
> echo 'Usage: finddoubles DIR SIZE[ckMG]'
> echo 'find duplicate files (faster than fdupes).'
> else
> # kein Verz. angegeben -> nutze aktuelles
> if [ -z "$1" -a -z "$2" ]
> then
> dir="."
> else
> if [ -d "$1" ]
> then
> dir="$1"
> else
> echo "Verzeichnis $1 existiert nicht" 1>&2
> fi
>
> fi
> # size arg is given
> size=''
> if [ ! -z "$2" ]
> then
> size="-size +$2"
> fi
>
> # suche alle Dateien groesser als $size
> # sortiere nach Dateigroesse
> # waehle Dateien aus, die genauso gross sind wie min. eine andere Datei
> # mdsum alle Dateien
> # sortiere und geben die Dateien mit gleichen Summen aus.
> find "$dir" -type f $size -printf "%16s %p\n" |sort |\
> uniq -D --check-chars=16 |sed 's/^ *[0-9][0-9]* //g' |\
> while read i; do md5sum "$i"; done | sort |\
> uniq --all-repeated=separate --check-chars=32 | awk '
> BEGIN {count=1;} {if ($1 == ""){count+=1;print $1;}else {$1="";
> print count,$0;}}'
>
> fi
> }
>
> ###############################################################
>
> Vorteil: Man kann auch erst ab einer bestimmten Dateigröße suchen,
> leicht zu Modifizieren, schnell
>
> Nachteil: Hardlinks werden nicht erkannt
>
>
> Viel Spaß beim Benutzen (gerne auch Feedback),
> Georg
>
>
>
>
--
Kurz und knapp von Unterwegs gesendet.
More information about the Linux
mailing list