Forum: PC-Programmierung Shellscript SHA512 berechnen


von Troll (Gast)


Lesenswert?

Hallo

ich will mit folgendem Shellscript die SHA512 Checksummen aller Dateien 
in einem Verzeichnis berechnen und in der sha512.sum Datei ausgeben.
1
find . -type f >filelist1.txt   #make filelist as file
2
sed 's|^..|"|'  <filelist1.txt >filelist2.txt #replace . by " in every line
3
sed ':a;N;$!ba;s|\n|"\n|g'   <filelist2.txt >filelist1.txt #add " before every newline
4
sed '$s/$/"/'  <filelist1.txt >filelist2.txt #add " at last char
5
sed '1,1d'     <filelist2.txt >filelist1.txt #delete first line
6
7
while read zeile
8
do
9
    echo $zeile
10
    sha512sum $zeile
11
done <filelist1.txt >sha512.sum

Wenn ich das Script nun ausführe, so findet sha512sum die Datei nicht 
und gibt <<sha512sum: "Irgendeine Datei": Datei oder Verzeichnis nicht 
gefunden>> zurück, obwohl echo $zeile das richtige Datei zurückgibt. 
Gibt man die von echo ausgegebene Datei manuell in der Shell ins 
sha512sum-Programm ein, so funktioniert sha512sum.

Irgendwer eine Idee, warum das nicht funktioniert?

von Peter II (Gast)


Lesenswert?

Geht nicht einfacher?

openssl dgst -sha512 *

von Troll (Gast)


Lesenswert?

Vielen Dank Peter, wusste gar nicht, das es den Befehl gibt, allerdings 
hat  "openssl dgst -sha512 *" genauso wie "sha512sum" Probleme, wenn das 
Verzeichniss Unterverzeichnisse hat.

von Yalu X. (yalu) (Moderator)


Lesenswert?

Vielleicht so:
1
find -type f -exec sha512sum {} \; >sha512.sum

von Troll (Gast)


Lesenswert?

find -type f -exec sha512sum {} \; >sha512.sum
Super, so funktioniert's!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.