GNU/Linux >> Tutoriels Linux >  >> Linux

Générer une somme Md5 pour tous les fichiers d'un répertoire, puis écrire (nom de fichier).md5 pour chaque fichier contenant la somme Md5 de ce fichier ?

J'ai un répertoire plein de fichiers. Chaque fichier sera copié vers un type spécifique d'hôte de destination.

Je souhaite calculer une somme MD5 pour chaque fichier du répertoire et stocker cette somme md5 dans un fichier qui correspond au nom du fichier qui a généré la somme, mais avec .md5 ajouté.

Ainsi, par exemple, si j'ai un répertoire avec :

a.bin
b.bin
c.bin

Le résultat final devrait être :

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

J'ai essayé cela avec find exec et avec xargs.

Avec find, j'ai essayé cette commande :

find . -type f -exec md5sum {} + > {}.md5

En utilisant xargs, j'ai essayé cette commande :

find . -type f | xargs -I {} md5sum {} > {}.md5

Dans les deux cas, je me retrouve avec un fichier appelé {}.txt, ce qui n'est pas vraiment ce que je recherche.

Quelqu'un pourrait-il indiquer comment les modifier pour générer les fichiers md5 que je cherche à générer ?

Réponse acceptée :

cd /path/to/files &&
for file in *; do
    if [[ -f "$file" ]]; then
        md5sum -- "$file" > "${file}.md5"
    fi
done

Linux
  1. Comment trouver un fichier sous Linux dans tous les répertoires de manière récursive

  2. Linux - Comment définir les autorisations de fichier par défaut pour tous les dossiers/fichiers d'un répertoire ?

  3. Comment auditer les modifications apportées aux fichiers et les exécutions de fichiers sous Linux

  4. Tableau des autorisations pour les types d'utilisateurs d'un fichier/répertoire et d'un système de fichiers

  5. Comment utiliser grep pour rechercher dans le répertoire courant tous les fichiers ayant la chaîne a hello mais afficher uniquement les fichiers .h et .cc?

Comment copier des fichiers et des répertoires sous Linux

Trouver des fichiers pour lesquels plusieurs variantes de ce nom de fichier existent ensemble dans le même répertoire ?

Rechercher des fichiers dans un répertoire et afficher le résultat dans un fichier texte ?

Trouver le fichier puis cd dans ce répertoire sous Linux

lien symbolique :trouver tous les fichiers liés à ce fichier

Comment renommer tous les fichiers avec des caractères spéciaux et des espaces dans un répertoire ?