GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Md5sum für alle Dateien in einem Verzeichnis generieren und dann (Dateiname).md5 für jede Datei schreiben, die die Md5sum dieser Datei enthält?

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

Linux
  1. Ein Verzeichnis nach Dateien durchsuchen und das Ergebnis in eine Textdatei ausgeben?

  2. Suchen Sie die Datei und wechseln Sie dann in dieses Verzeichnis in Linux

  3. Symbolischer Link:findet alle Dateien, die auf diese Datei verlinken

  4. Wie verwende ich grep, um das aktuelle Verzeichnis nach allen Dateien mit der Zeichenfolge hello zu durchsuchen, aber nur .h- und .cc-Dateien anzuzeigen?

  5. Wie kann ich nach Dateien suchen und sie in einer Zip-Datei komprimieren?

So kopieren Sie Dateien und Verzeichnisse unter Linux

Dateien finden, für die mehrere Variationen dieses Dateinamens zusammen im selben Verzeichnis vorhanden sind?

So prüfen Sie Änderungen an Dateien und Ausführungen von Dateien in Linux

Berechtigungstabelle für Datei-/Verzeichnis- und Dateisystem-Benutzertypen

Wie benenne ich alle Dateien mit Sonderzeichen und Leerzeichen in einem Verzeichnis um?

Holen Sie sich alle Erweiterungen und ihre jeweilige Dateianzahl in einem Verzeichnis