Saya memiliki md5sum
file dan saya tidak tahu di mana file itu berada di sistem saya. Apakah ada opsi mudah find
untuk mengidentifikasi file berdasarkan pada file itu md5
? Atau apakah saya perlu membuat skrip kecil?
Saya sedang mengerjakan AIX 6 tanpa alat GNU.
Jawaban:
Menggunakan
find
:Jika Anda mencari melalui
/
maka Anda dapat mengecualikan/proc
dan/sys
melihatfind
contoh perintah berikut :Juga saya telah melakukan beberapa pengujian,
find
membutuhkan lebih banyak waktu dan lebih sedikit CPU dan RAM di mana skrip ruby mengambil lebih sedikit waktu tetapi lebih banyak CPU dan RAMHasil tes
Menemukan
Temukan dengan
-prune
Script Ruby
sumber
-prune
pada/sys
//proc
bukannya turun di dalamnya dan belum termasuk file dengan-path
. Anda harus memilih!
lebih dari-not
portabilitas./dev
tentu saja.Solusi Skrip
Solusi Bash Script berdasarkan probabilitas yang bekerja lebih cepat
Hasil tes
sumber
Jika Anda tetap memutuskan untuk menginstal gnu find (dan karena Anda menunjukkan minat pada salah satu komentar Anda), Anda dapat mencoba sesuatu seperti:
dan telah
checkmd5
membandingkan md5sum dari file yang didapat sebagai argumen dibandingkan dengan argumen kedua dan mencetak nama jika cocok dan keluar dengan 1 (bukan 0 sebaliknya). The-quit
akan memilikifind
berhenti setelah ditemukan.checkmd5
(tidak diuji):sumber
No package checkmd5 available
, harap sertakan paket mana yang perlu diinstal untukcheckmd5
checkmd5
tetapi saya suka cara Anda melakukannya-type f
, tetapi itu dihapus sayaecho $1
sudah dimasukkan