ianders
Linux Jungspund
Hallo ihr,
ich bin gerade dabei mir ein Script zusamen zu basteln welches doppelte Dateien findet und nach Wahl auch löschen kann. Dabei gehe ich davon aus, dass sich die gleichen Dateien in verschiedenen Verzeichnissen befinden.
leider habe ich vom Script schreiben nicht viel Ahnung und habe mir daher mit Google weiter geholfen, verschiedenes mit Testdateien rumprobiert bis ich zumindest die erste Scripthälfte zusammen hatte. Aber jetzt komme ich nicht weiter, daher die Frage ob ihr nicht ein paar Ideen habt wie ich das Script fertig bekomme.
Danke
ich bin gerade dabei mir ein Script zusamen zu basteln welches doppelte Dateien findet und nach Wahl auch löschen kann. Dabei gehe ich davon aus, dass sich die gleichen Dateien in verschiedenen Verzeichnissen befinden.
leider habe ich vom Script schreiben nicht viel Ahnung und habe mir daher mit Google weiter geholfen, verschiedenes mit Testdateien rumprobiert bis ich zumindest die erste Scripthälfte zusammen hatte. Aber jetzt komme ich nicht weiter, daher die Frage ob ihr nicht ein paar Ideen habt wie ich das Script fertig bekomme.
Code:
[COLOR=Gray][I]geänderte Version:[/I][/COLOR]
#!/bin/bash
trap 'test -d doppelttmp && rm -r doppelttetmp; exit 1' 2
mkdir doppelttmp
echo "Für jede Datei die Prüfsumme berechnen und in einer temporären Datei speichern"
echo "Verzeichniss angeben aber ACHTUNG Achtung: nichs fuer $HOME:"
read verz
# Für jede Datei die Prüfsumme berechnen und in temporärer Datei speichern
if [ -z "$verz" ] ; then
class=`groups`
user=`whoami`
echo "Suchen nach Dateien in /users/class/$class/$user..."
find /users/class/"$class"/"$user" -exec md5sum {} \; > doppelttmp/sum.unsorted
#cat doleer.tmp
else
echo "Suchen nach Dateien in $verz..."
find "$verz" -exec md5sum {} \; > doppelttmp/sum.unsorted
#cat doleer.tmp
fi
# Die Prüfsummen sortieren
sort < doppelttmp/sum.unsorted > doppelttmp/sum.sorted
# Alle Doppelten Summen finden und speichern
cut -f 1 -d " " doppelttmp/sum.sorted | uniq -d > doppelttmp/sum.dupe
# Die Dateinamen zu den Doppelten Summen finden und ausgeben
grep -F -f doppelttmp/sum.dupe doppelttmp/sum.sorted
echo "Verzeichniss angeben aus welchem die Dateien gelöscht werden sollen. Achtung: nichs fuer $HOME:"
read verz
# Dateien im Angegebenen Verzeichnis löschen, sofern sie in der Liste der doppelten Dateien sind
[I]# wie macht man das?[/I]
# aus weierem Verzichnis dateien löschen oder programm ende
[I]# wie macht man das?[/I]
# test -d doppelttmp && rm -r doppelttmp
exit 0
#-----ERRORCODES-----
#1 -- CTRL + C abbruch
Zuletzt bearbeitet: