GNU/Linux >> Linux Esercitazione >  >> Linux

Genera Md5sum per tutti i file in una directory, quindi scrivi (nome file).md5 per ogni file contenente Md5sum di quel file?

Ho una directory piena di file. Ogni file verrà copiato su un tipo specifico di host di destinazione.

Voglio calcolare una somma MD5 per ogni file nella directory e memorizzare quella somma md5 in un file che corrisponda al nome del file che ha generato la somma, ma con .md5 aggiunto.

Quindi, per esempio, se ho una directory con:

a.bin
b.bin
c.bin

Il risultato finale dovrebbe essere:

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

L'ho provato con find exec e con xargs.

Con trova, ho provato questo comando:

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

Usando xargs, ho provato questo comando:

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

In entrambi i casi, finisco con un file chiamato {}.txt, che non è proprio quello che sto cercando.

Qualcuno potrebbe indicare come modificarli per generare i file md5 che sto cercando di generare?

Risposta accettata:

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

Linux
  1. Rimuovere tutti i file/directory tranne un file?

  2. Trovare file per i quali più varianti su quel nome file esistono insieme nella stessa directory?

  3. Tabella delle autorizzazioni per tipi di utenti di file/directory e file system

  4. Trova il file quindi cd in quella directory in Linux

  5. collegamento simbolico:trova tutti i file che si collegano a questo file

Rinomina tutti i file e i nomi delle directory in minuscolo in Linux

Come copiare file e directory in Linux

come posso cercare i file e comprimerli in un unico file zip

Trova tutti i file a zero byte nella directory e nelle sottodirectory

Come rinominare tutti i file con caratteri speciali e spazi in una directory?

Ottieni tutte le estensioni e il rispettivo numero di file in una directory