Page 1 of 1
Püfsummendatei erstellen
Posted: 2007-11-24 13:25
by dslthomas
Hallo,
ich möchte eine Prüfsummendatei erstellen. Mit folgendem Befehl:
Code: Select all
find /home/www/web32/html -type f | xargs md5sum > checkfile.txt
erhalte ich eine Ausgabe in folgendem Format:
Code: Select all
3f8d7a528f8b7d3da80071bd446c4e54 /home/www/web32/html/globals.php
ich benötige aber folgende Ausgabe:
Code: Select all
administrator/backups/index.html 1c7b413c3fa39d0fed40556d2658ac73
also genau anders herum - erst Pfad dann Prüfsumme
wie kann das bewerkstelligen? Geht das überhaupt?
Danke
Re: Püfsummendatei erstellen
Posted: 2007-11-24 13:44
by oxygen
funktioniert aber nur, wenn die Dateinamen keine Leerzeichen enthalten. Sonst wirds kompliziert.
Re: Püfsummendatei erstellen
Posted: 2007-11-24 14:05
by dslthomas
Danke! - Das wars!!!!! Super!
Re: Püfsummendatei erstellen
Posted: 2007-11-24 14:48
by floogy
Das sollte so funktionieren:
Code: Select all
find /home/www/web32/html -type f -print0| xargs -0 md5sum|gawk '{print $2" "$NF"t"$1}' > checkfile.txt
Das kommt aber nicht ganz mit Leerzeichen klar. $2" "$NF"t"$1 ist da nur ne Krücke :( bei Leerzeichen in Dateinamen.
Code: Select all
$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9" ... "$NF"t"$1
sieht auch blöd aus ...
EDIT:
So funktioniert's auch mit Leerzeichen in Dateinamen:
Code: Select all
find /home/www/web32/html -type f -print0| xargs -0 md5sum|gawk -F / '{print "/"$NF"t"$1}' > checkfile.txt
"t" gegebenenfalls durch " " ersetzen.
Frage: Wie kann man das noch besser lösen? Leerzeichen am Ende einer Datei führen hier zu Problemen (ansonsten ja wohl auch u.U. ;-) ).
Re: Püfsummendatei erstellen
Posted: 2007-11-24 15:48
by Roger Wilco
Code: Select all
find /home/www/web32/html -type f -exec perl -e 'use Digest::MD5;open(FILE, $ARGV[0]);$ctx = Digest::MD5->new; $ctx->addfile(*FILE);$digest = $ctx->hexdigest;print "${ARGV[0]}t${digest}n";' -- "{}" ;
Re: Püfsummendatei erstellen
Posted: 2007-11-24 15:48
by Joe User
floogy wrote:Frage: Wie kann man das noch besser lösen? Lerzeichen am Ende einer Datei führen hier zu Problemen (ansonsten ja wohl auch u.U. ;-) ).
sed statt awk verwenden ;)
Re: Püfsummendatei erstellen
Posted: 2007-11-24 16:26
by juergen
Mit dem Umschreiben des Files wirst du keinen Spaß haben: Wie willst du die checksummen wieder überprüfen? Dateinamen könnten auch andere lustige Zeichen (wie z.B. newline) enthalten.
md5sum kann zur überprüfung nur sein eigenes Fileformat lesen.