Можно ли получить одну строку md5 для файлов, перечисленных в find
?
Этот код создает некоторую хеш-строку md5, но похоже, что он использует только имена файлов, но мне также нужно использовать содержимое:
find my_dir -name "*.jpg" | md5
Проверка файлов JSON:
tree temp_dir
temp_dir
├── temp_1
│ ├── 071-FBA-227597_custom_faceboxes_face_bbox.json
│ └── 083-FBA-228758_custom_faceboxes_face_bbox.json
└── temp_2
├── 071-FBA-227597_custom_faceboxes_face_bbox.json
└── 083-FBA-228758_custom_faceboxes_face_bbox.json
Изменен один json в temp2:
md5 temp_dir/temp_1/071-FBA-227597_custom_faceboxes_face_bbox.json
MD5 (temp_dir/temp_1/071-FBA-227597_custom_faceboxes_face_bbox.json) = 8da7666a1cf7f68b102a2ebb2ce01eae
md5 temp_dir/temp_1/083-FBA-228758_custom_faceboxes_face_bbox.json
MD5 (temp_dir/temp_1/083-FBA-228758_custom_faceboxes_face_bbox.json) = 93afe3b2b627948ff870496bf8302b85
md5 temp_dir/temp_2/071-FBA-227597_custom_faceboxes_face_bbox.json
MD5 (temp_dir/temp_2/071-FBA-227597_custom_faceboxes_face_bbox.json) = 8da7666a1cf7f68b102a2ebb2ce01eae
md5 temp_dir/temp_2/083-FBA-228758_custom_faceboxes_face_bbox.json
MD5 (temp_dir/temp_2/083-FBA-228758_custom_faceboxes_face_bbox.json) = 6308ef748f5c9a895d36bc8a71b37112
По какой-то причине md5 в списке путей к файлам отличается, это ожидается?:
find temp_1 -name "*.json"
temp_1/071-FBA-227597_custom_faceboxes_face_bbox.json
temp_1/083-FBA-228758_custom_faceboxes_face_bbox.json
find temp_2 -name "*.json"
temp_2/071-FBA-227597_custom_faceboxes_face_bbox.json
temp_2/083-FBA-228758_custom_faceboxes_face_bbox.json
find temp_1 -name "*.json" | md5
ed0b14613ce97542a4e5531ff196378f
find temp_2 -name "*.json" | md5
50d0ded6eb3bf396a0b1c091c9067fdc
Также я попытался просто скопировать temp_1 и создал temp_3, но он также дает другой хэш, это ожидается?:
find temp_3 -name "*.json"
temp_3/071-FBA-227597_custom_faceboxes_face_bbox.json
temp_3/083-FBA-228758_custom_faceboxes_face_bbox.json
find temp_3 -name "*.json" | md5
f62473085a4b32b287ead4f8f9e67e15
md5 temp_3/071-FBA-227597_custom_faceboxes_face_bbox.json
MD5 (temp_3/071-FBA-227597_custom_faceboxes_face_bbox.json) = 8da7666a1cf7f68b102a2ebb2ce01eae
md5 temp_3/083-FBA-228758_custom_faceboxes_face_bbox.json
MD5 (temp_3/083-FBA-228758_custom_faceboxes_face_bbox.json) = 93afe3b2b627948ff870496bf8302b85
Метод с котом дает действительные результаты:
find temp_1 -name "*.json" -exec cat {} \; | md5
b2abfe623e93153598d6625930f934f2
find temp_2 -name "*.json" -exec cat {} \; | md5
c64eb7a0a8749b11aa11a0312d37f81f
find temp_3 -name "*.json" -exec cat {} \; | md5
b2abfe623e93153598d6625930f934f2