Datei-Dupletten Finden

Autor

Dienstag, 12. Mai 2009 11:31:38

Hallo,

ich suche ein Programm (am besten CLI), dass mir Datei-Dupletten
im System zeigt.

Dieses Tool sollte am besten nicht bloß nach dem Namen sondern nach dem Inhalt gehen.

Hintergrund ist, dass ich eine Medien-Sammlung bereinigen möchte.

Vielen Dank!

Joachim Lehmann

4 Antworten


Antworten
Datei-Dupletten
Dieter (unangemeldet), Samstag, 16. Mai 2009 11:32:03
Ein/Ausklappen

Ich verwende hierzu das Programm samefile auf der Konsole.
Zu finden unter:
http://www.schweikhardt.net/samefile/

Anwendung mit pipe:
find | samefile
find | samefile > samedatei.txt

Eine andere Möglichkeit bietet md5sum mit find:
find -type f -printf "" -exec md5sum '{}' \;
und dann sortieren nach den md5-Summen. Somit hast Du nur noch ganz wenige Dateien zum ansehen ob diese doppelt sind.



Für Samefile habe ich mir noch einen Batchjob geschrieben zur Unterstützung:

#! /bin/sh
# how to use this:
# first step
# syntax: find /path/ | samefile > filelist.txt
# second step
# your inputfile will now be your created filelist.txt
# syntax: ./chosewhichdelete_samefile.sh inputfile outputfile
# recommendet outputfilemname samefiledeletebatch.sh
# third step
# syntax: ./samefiledeletebatch.sh

ic=1
IFS=$'\t\n'
echo "#! /bin/sh " > $2
for i in $(cat /home/dieterd/tools/samefile/"$1");
do
# echo "# count: " $ic
# put length of file into one variable
if [ $ic = 1 ] ; then
var1=$i
#echo "# " $var1
fi
# put first file name into a variable
if [ $ic = 2 ] ; then
var2=$i
#echo "# " $var2
fi
# put second file name into a variable
if [ $ic = 3 ] ; then
var3=$i
#echo "# " $var3
fi
#if [ $ic = 4 ] ; then
#var4=$i
#echo "# " $var4
#fi
#if [ $ic = 5 ] ; then
#var5=$i
#echo "# " $var5
#fi
#if [ $ic = 6 ] ; then
#var6=$i
#echo "# " $var6
#fi
# increment counter ic with one
ic=$(($ic+1))
# echo "# count: " $ic
# leave out other information
# at the end, ask which to delete

if [ $ic = 7 ] ; then

let m=0

while [ $m = 0 ]
do

echo "# 0: " $var1
echo "# 1: " $var2
echo "# 2: " $var3
ls -l $var2
ls -l $var3
# echo "# 3: " $var4
echo "# which to delete ? (1: first ; 2: second)"

# check if file exists
if [ -e $var2 ]
then
if [ -e $var3 ]
then
read a
else
a="0"
echo "file skipped because least one file is missing "
fi
else
a="0"
echo "file skipped because least one file is missing "
fi

# read a

if [ $a = "m" ] ; then
echo "mplayer file"
mplayer $var2
fi

if [ $a = "v" ] ; then
echo "xv file"
xv $var2
fi

if [ $a = "l1" ] ; then
echo "list dir"
ls $(dirname $var2)
fi

if [ $a = "l2" ] ; then
echo "list dir"
ls $(dirname $var3)
fi

if [ $a = "k1" ] ; then
echo "list dir"
konqueror $(dirname $var2)
fi

if [ $a = "k2" ] ; then
echo "list dir"
konqueror $(dirname $var3)
fi

if [ $a = "k" ] ; then
echo "list dir"
konqueror $(dirname $var2) $(dirname $var3)
fi

# with echo works only if the filename is the same
# if not you kill the file only in the second run
# better will be if you moved files to trash - write your own shell script

if [ $a = "0" ] ; then
echo "skipped these files "
# nothing - skip
let m=1
fi

if [ $a = "q" ] ; then
echo "programm was aborted by user wish "
exit
let m=1
# beenden
fi

if [ $a = "1" ] ; then
echo "rm " \'$var2\' >> $2
# echo "mv " \'$var2\' \'$var3\'
# echo "mv " \'$var2\' \'$var3\' >> $2
# echo "mv " \'$var3\' \'$var2\' >> $2
let m=1
fi

if [ $a = "2" ] ; then
echo "rm " \'$var3\' >> $2
# echo "mv " \'$var3\' \'$var2\'
# echo "mv " \'$var3\' \'$var2\' >> $2
# echo "mv " \'$var2\' \'$var3\' >> $2
let m=1
fi
ic=1

done

fi
done

# change attributes to enable *.sh to run as user
sudo chmod 777 $2



Bewertung: 161 Punkte bei 14 Stimmen.
Den Beitrag bewerten: Gut / Schlecht
-
Re: Datei-Dupletten
Dieter (unangemeldet), Samstag, 16. Mai 2009 11:42:03
Ein/Ausklappen

Das Shellskript ist für KDE geschrieben. Für Gnome oder andere viewer mußt Du entsprechenden Konsolenbefehl in dem Skript ändern.

Der Vergleich mit den MD5 Summen hat einen Vorteil, dass Du dieses Ergebnis (und die vermutlichen Dupletten (der nachteil ist, du mußt die vermeintlichen Dubletten noch vergleichen)) auf einem Stick mitnehmen kannst, falls sich weitere Dateien auf einem anderen Rechner am anderen Ort befinden.


Bewertung: 96 Punkte bei 10 Stimmen.
Den Beitrag bewerten: Gut / Schlecht
Re: Datei-Dupletten
Dieter (unangemeldet), Samstag, 16. Mai 2009 15:06:55
Ein/Ausklappen

find -type f -printf %s"\t"%TY%Tm%Td_%TH%TM"\t" -exec md5sum '{}' \; | sort -k 3 | uniq -D -f 2 -w 32

Bildet von allen Dateien die md5sum und gibt die Mehrfachen aus.




Bewertung: 120 Punkte bei 10 Stimmen.
Den Beitrag bewerten: Gut / Schlecht
fdupes & dupseek
Erwin Eggenberger, Dienstag, 12. Mai 2009 21:47:57
Ein/Ausklappen

Hallo Joachim,

ich habe vor einer Weile mal fdupes und dupseek ausprobiert, beides CLI.
http://premium.caribe.net/~adrian2/fdupes.html
http://www.beautylabs.net/software/dupseek.html

Raten würde ich eher zu dupseek, denn fdupes hat bei mir bei sehr großen Mengen von Dateien kläglich versagt. Hat den ganzen Arbeitspeicher aufgebraucht, bis der OOM Killer eingegriffen hat.

Dupseek hatte damit keine Probleme. Zudem ist der verwendete Algorithmus ein bisschen schneller. Ich hatte aber den Eindruck, dass es Dateien größer als 4GB nicht mag und sich dann aufhängt. Nach verschieben der VirtualBox Images ist es dann aber problemlos durchgelaufen.

Grüße

Erwin


Bewertung: 142 Punkte bei 16 Stimmen.
Den Beitrag bewerten: Gut / Schlecht

Ähnliche Artikel

  • Neue Software
    Im Quartalsrhythmus erscheinen viele Programme in neuer Version. Eine Auswahl stellen wir regelmäßig vor, und auf der Heft-DVD finden Sie die passenden Pakete und Installationshinweise.
  • Verpackungskünstler
    Sparen Sie Platz: Mit einem Archivierungsprogramm fassen Sie mehrere Dateien zu einer einzigen zusammen, und mit einem Komprimierungs-Tool verkleinern Sie das Datenpaket. Wir zeigen, wie Sie zum Verpackungskünstler werden.
  • Musiksammlung verwalten mit Amarok
    Mit seiner großen Anzahl beeindruckender Funktionen rockt der intuitive Mediaplayer Amarok die Party und liefert zugleich den alltäglichen Soundtrack bei der Arbeit.
  • Software
    Im Quartalsrhythmus erscheinen viele Programme in neuer Version. Eine Auswahl stellen wir regelmäßig vor. Auf der Heft-DVD finden Sie die passenden Pakete und Installationshinweise (Teil 2/2).
  • Software
    Im Quartalsrhythmus erscheinen viele Programme in neuer Version. Eine Auswahl stellen wir regelmäßig vor. Auf der Heft-DVD finden Sie die passenden Pakete und Installationshinweise.

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 4 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...
Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...
o2 surfstick software für ubuntu?
daniel soltek, 15.07.2014 18:27, 1 Antworten
hallo zusammen, habe mir einen o2 surfstick huawei bestellt und gerade festgestellt, das der nic...

Jetzt auf den Mailinglisten

Re: [EasyLinux-Ubuntu] debian oder mint-debian
Heinz-Stefan Neumeyer, 23.09.2014 09:45
Am Dienstag, den 23.09.2014, 00:51 +0200 schrieb Heiko Ißleib: Moin Heiko > > Daran sieht man wied...
Re: [EasyLinux-Suse] Knietief linux
Heiko, 23.09.2014 09:36
Am Dienstag, 23. September 2014, 09:14:05 schrieben Sie: Hallo Liste. > > Ich bin eher durch Zufal...
[EasyLinux-Suse] Knietief linux
Heiko, 23.09.2014 09:14
Hallo Liste. Ich bin eher durch Zufall auf diesen Kanal gestoßen. Vielleicht etwas "gnadenlos lustig&q...
Re: [EasyLinux-Ubuntu] debian oder mint-debian
Heiko, 23.09.2014 00:51
Am Montag, 22. September 2014, 16:39:41 schrieb H.-Stefan Neumeyer: Hallo Stefan. > > > KDE...
Re: [EasyLinux-Suse] Nach Update Akonadi kaputt?
Heiko, 22.09.2014 23:37
Am Montag, 22. September 2014, 23:10:08 schrieb Matthias Müller: Hallo. > > > > gestern...