Datei-Dupletten Finden

Joachim Lehmann - Dienstag, 12. Mai 2009 11:31:38 - 4 Antworten

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!

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: 282 Punkte bei 48 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: 282 Punkte bei 43 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: 285 Punkte bei 44 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: 274 Punkte bei 56 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.
  • 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.
  • 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.
  • 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.

Aktuelle Fragen

Knoppix-Live-CD (8.0 LU-Edition) im Uefiboot?
Thomas Weiss, 26.04.2017 20:38, 0 Antworten
Hallo, Da mein Rechner unter Windows 8.1/64Bit ein Soundproblem hat und ich abklären wollte, o...
Grub2 reparieren
Brain Stuff, 26.04.2017 02:04, 5 Antworten
Ein Windows Update hat mir Grub zerschossen ... der Computer startet nicht mehr mit Grub, sondern...
Linux open suse 2,8
Wolfgang Gerhard Zeidler, 18.04.2017 09:17, 2 Antworten
Hallo.bitte um Hilfe bei. Code fuer den Rescue-login open suse2.8 Mfg Yvo
grep und sed , gleicher Regulärer Ausdruck , sed mit falschem Ergebnis.
Josef Federl, 15.04.2017 00:23, 1 Antworten
Daten: dlfkjgkldgjldfgl55.55klsdjfl jfjfjfj8.22fdgddfg {"id":"1","name":"Phase L1","unit":"A",...
IP Cams aufzeichnen?
Bibliothek der Technischen Hochschule Mittelhessen / Giessen, 07.04.2017 09:25, 7 Antworten
Hallo, da nun des öfteren bei uns in der Nachbarschaft eingebrochen wird, würde ich gern mein...

Jetzt auf den Mailinglisten

Re: [EasyLinux-Ubuntu] Think Pad Carbon ohne Lizenz Key
Alfred Zahlten, 01.05.2017 02:44
Am 29.04.2017 um 12:10 schrieb Yanik Helmholtz:Hallo Yanik, > Think Pad Carbon X1die Werbung kostet wie...
Re: [EasyLinux-Ubuntu] Kartellamt wegen untaetigkeit verklagen( war Think Pad Carbon ohne Lizenz Key
Uwe Herrmuth, 30.04.2017 11:26
Hallo Frank, Frank schrieb am 30.04.2017 um 10:31: > Falls sich jemand bei Change.Org oder ... Gegen...
Re: [EasyLinux-Ubuntu] Kartellamt wegen untaetigkeit verklagen( war Think Pad Carbon ohne Lizenz Key
Frank von Thun, 30.04.2017 10:31
Moin dieses Thema stößt mir sauer auf! Hatte wegen der win-Zwangsehe bereits mal Kontakt mit dem Kartellamt. H...
Re: [EasyLinux-Ubuntu] Think Pad Carbon ohne Lizenz Key
Marcello, 29.04.2017 20:35
Am 29. April 2017 17:20:18 MESZ schrieb Kara : > >> Hallo Leute >> >> Ich stoße auf unwe...
Re: [EasyLinux-Ubuntu] Think Pad Carbon ohne Lizenz Key
Kara, 29.04.2017 17:20
???????????????????????????????????????????????????????????????????????????????????????????????????????????????...