Ich habe ein Verzeichnis voller Dateien. Jede Datei wird auf einen bestimmten Zielhosttyp kopiert.
Ich möchte eine MD5-Summe für jede Datei im Verzeichnis berechnen und diese MD5-Summe in einer Datei speichern, die mit dem Namen der Datei übereinstimmt, die die Summe generiert hat, aber mit .md5 angehängt.
Also zum Beispiel, wenn ich ein Verzeichnis habe mit:
a.bin
b.bin
c.bin
Das Endergebnis sollte sein:
a.bin
a.bin.md5 # a.bin's calculated checksum
b.bin
b.bin.md5 # b.bin's calculated checksum
c.bin
c.bin.md5 # c.bin's calculated checksum
Ich habe dies mit find exec und mit xargs versucht.
Mit find habe ich diesen Befehl ausprobiert:
find . -type f -exec md5sum {} + > {}.md5
Mit xargs habe ich diesen Befehl ausprobiert:
find . -type f | xargs -I {} md5sum {} > {}.md5
In beiden Fällen erhalte ich eine Datei namens {}.txt, die nicht wirklich das ist, wonach ich suche.
Könnte jemand darauf hinweisen, wie man diese optimiert, um die md5-Dateien zu generieren, die ich generieren möchte?
Akzeptierte Antwort:
cd /path/to/files &&
for file in *; do
if [[ -f "$file" ]]; then
md5sum -- "$file" > "${file}.md5"
fi
done