Saya memiliki direktori yang penuh dengan file. Setiap file akan disalin ke jenis host tujuan tertentu.
Saya ingin menghitung jumlah MD5 untuk setiap file dalam direktori, dan menyimpan jumlah md5 itu dalam file yang cocok dengan nama file yang menghasilkan jumlah, tetapi dengan .md5 ditambahkan.
Jadi, misalnya, jika saya memiliki direktori dengan:
a.bin
b.bin
c.bin
Hasil akhir seharusnya:
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
Saya telah mencoba ini dengan find exec, dan dengan xargs.
Dengan find, saya mencoba perintah ini:
find . -type f -exec md5sum {} + > {}.md5
Menggunakan xargs, saya mencoba perintah ini:
find . -type f | xargs -I {} md5sum {} > {}.md5
Dalam kedua kasus tersebut, saya mendapatkan file bernama {}.txt, yang sebenarnya bukan yang saya cari.
Adakah yang bisa menunjukkan cara mengubah ini untuk menghasilkan file md5 yang ingin saya buat?
Jawaban yang Diterima:
cd /path/to/files &&
for file in *; do
if [[ -f "$file" ]]; then
md5sum -- "$file" > "${file}.md5"
fi
done
Linux – Dukungan Umum Linux Untuk IPv6 Siap?
Ssh – Perlu Tty Untuk Menjalankan Sudo Jika Saya Bisa Sudo Tanpa Kata Sandi?