ฉันมีไฟล์รูปภาพและฉันรู้ว่ามีอีกสำเนาหนึ่งอยู่ในไดเรกทอรีหรือหนึ่งในบรรพบุรุษของมัน แต่มีชื่อไฟล์ที่แตกต่างและไม่รู้จักและมีหลายพันภาพในไดเรกทอรีนี้
ฉันจะค้นหาชื่อไฟล์ของภาพที่เหมือนกับที่ฉันรู้ได้อย่างไร
ฉันมีไฟล์รูปภาพและฉันรู้ว่ามีอีกสำเนาหนึ่งอยู่ในไดเรกทอรีหรือหนึ่งในบรรพบุรุษของมัน แต่มีชื่อไฟล์ที่แตกต่างและไม่รู้จักและมีหลายพันภาพในไดเรกทอรีนี้
ฉันจะค้นหาชื่อไฟล์ของภาพที่เหมือนกับที่ฉันรู้ได้อย่างไร
คำตอบ:
ก่อนอื่นค้นหาไฟล์ทั้งหมดที่มีขนาดไฟล์เท่ากันจากนั้นทำการเปรียบเทียบแบบไบนารี
s=$(stat -c "%s" $file) #File size in bytes
for i in $(find $dir -size "${s}c"); do #by default, find expects sizes in blocks
if cmp "$i" "$file"; then
echo "$file and $i identical"
fi
done