Saya mencoba membuat checksum MD5 dari ratusan ribu foto di drive eksternal menggunakan perintah berikut di OS X 10.9.5. Saya mendapatkan banyak kesalahan. Saya menggunakan find dengan nama file yang diakhiri nul yang disalurkan ke xargs karena menurut saya ini berjalan paling cepat.
find . -type f -not -name "checksums.md5" -print0 | xargs -0 md5 -r > checksums.md5
Saya telah mempersempitnya menjadi penggunaan -type f
, yang dapat Anda lihat pada contoh berikut:
mymac:Finals user$ find . -name "0153*"
./0153_IMG_4812_Coniston village.jpg
mymac:Finals user$ find . -name "0153*" -type f
./0153_IMG_4812_Coniston village.jpg
find: ./0154_IMG_4814_Après hike.jpg: No such file or directory
mymac:Finals user$ find . -name "0154*"
./0154_IMG_4814_Après hike.jpg
mymac:Finals user$ find . -name "0154*" -type f
find: ./0154_IMG_4814_Après hike.jpg: No such file or directory
Ketika saya menjalankan perintah asli di hard drive saya, saya melihat banyak kesalahan "Tidak ada file atau direktori", dan file-file itu dilewati, jangan di-checksum.
Ada ide?
find
tersebut melaluihexdump -C
dan bandingkan byte nama file dalam kedua kasus. Bandingkan juga dengan hex dump dari outputls
pada direktori yang sama. - person Ken Thomases   schedule 16.01.2015export LC_TYPE=C
sebelum menjalankanfind
mungkin. - person Mark Setchell   schedule 16.01.2015export LC_TYPE=C
tidak membantu. - person Clam   schedule 16.01.2015ls
pada direktori, tanpa pola glob. Jelas, Anda harus mencari hex dump. Atau Anda dapat memfilternya dengangrep
sebelum menyalurkannya kehexdump -C
. Yaitu.ls | grep 0154 | hexdump -C
. - person Ken Thomases   schedule 16.01.2015find
entah bagaimana. Cobacommand find ...
- person Reinstate Monica Please   schedule 16.01.2015hexdump -C
menunjukkan urutan karakter UTF-8 yang sama untuk nama file yang rusak dan tetap:65 cc 80
. - person Clam   schedule 16.01.2015