Anda dapat menggunakan sesuatu seperti ini untuk menjalankan perintah pada setiap file:
find . -name "*.jar" -exec md5sum {} \; >result
Ini juga akan berfungsi untuk hash semua file secara rekursif di direktori atau sub-direktori saat ini (terima kasih kepada sysadmin saya!):
md5sum $(find . -name '*.jar') > result.txt
Di atas akan menambahkan "./" ke nama file (tanpa menyertakan path).
Menggunakan -exec
saran dari mux menambahkan "*" ke nama file (sekali lagi, tanpa jalur).
Urutan file yang terdaftar juga berbeda di antara keduanya, tetapi saya tidak memenuhi syarat untuk mengatakan dengan tepat alasannya, karena saya benar-benar pemula untuk bash scripting.
Sunting:Lupakan hal di atas tentang prepend dan path lengkap, yang didasarkan pada pengalaman saya menjalankan HPC dari jarak jauh. Saya baru saja menjalankan saran sysadmin saya di kotak Windows lokal saya menggunakan cygwin dan mendapatkan path lengkap, dengan "*./" diawali. Saya perlu menggunakan beberapa kesenangan lain untuk membuang jalur yang tidak konsisten dan memulai, untuk membuat perbandingan lebih mudah. Singkatnya, YMMV.