เปรียบเทียบไฟล์ไบนารีโดยใช้อัลกอริทึมการจัดตำแหน่ง

นี่คือเครื่องมือสำหรับการกระจายแบบไบนารี
เครื่องมือสามารถแสดงไฟล์ไบนารีสองไฟล์เคียงข้างกันเพื่อให้สถานที่ที่คล้ายกันจะอยู่ในตำแหน่งเดียวกันทั้งสองด้านและไบต์ที่หายไปจากด้านหนึ่งจะเป็นเบาะ มันใช้อัลกอริธึมชีวภาพจากไลบรารี 'WFA2' หรือ rust-bio Library (โดยทั่วไปจะใช้สำหรับการจัดตำแหน่งลำดับดีเอ็นเอ) สำหรับสิ่งนั้น กล่องโต้ตอบสำหรับการกำหนดค่าทำได้โดยใช้ cursive
[ , ] , 0 เรียกใช้งาน biodiff file_a file_b ในเทอร์มินัลและคุณควรถูกทิ้งลงในมุมมอง hex ที่แสดงไฟล์สองไฟล์เคียงข้างกัน เริ่มแรกไฟล์จะไม่ได้รับการจัดตำแหน่งและแสดงโดยไม่มีช่องว่างในแต่ละด้าน โดยการย้ายเคอร์เซอร์และมุมมองไปยังสถานที่ที่ด้านซ้ายและด้านขวามีความคล้ายคลึงกันและกด F3 (หรือ 3 ) พวกเขาสามารถจัดตำแหน่งได้ สิ่งนี้ทำบล็อกโดยบล็อกในการกำหนดค่ามาตรฐานซึ่งหมายความว่าไบต์ใกล้เคอร์เซอร์จะจัดตำแหน่งก่อนและบล็อกที่จัดแนวเพิ่มเติมจะปรากฏขึ้นในภายหลังทั้งสองด้าน
นอกจากนี้ยังเป็นไปได้ที่จะทำการจัดตำแหน่งทั่วโลก (ของไฟล์ทั้งหมดในครั้งเดียว) โดยการเปลี่ยนการตั้งค่าโดยใช้ F4 (อย่าลืมปรึกษาความช่วยเหลือเกี่ยวกับพารามิเตอร์) โดยทั่วไปเนื่องจากใช้เวลาและพื้นที่กำลังสองการจัดตำแหน่งทั่วโลกจะไม่ทำงานได้ดีสำหรับไฟล์ที่ใหญ่กว่า 64KB นอกจากนี้ยังมีอัลกอริทึม "แถบ" ซึ่งเร็วกว่า แต่แม่นยำน้อยกว่าเล็กน้อย
นอกจากนี้คุณยังสามารถเลือกภูมิภาคในไฟล์หนึ่งไฟล์และโดยการกด F3 อัลกอริทึมการจัดตำแหน่งจะทำการจัดตำแหน่งกึ่งเซมิโลบาลโดยใช้ไบต์ที่เลือกเป็นรูปแบบเพื่อค้นหาไบต์ที่สอดคล้องกันในไฟล์อื่น
นอกจากนี้ยังเป็นไปได้ที่จะพิมพ์ diff โดยตรงไปยังเทอร์มินัลโดยใช้ biodiff --print file_a file_b ในกรณีนั้น (หากไฟล์มีขนาดเล็กพอที่จะไม่ใช้เวลานานเกินไป) คุณสามารถเพิ่มธง -gglobal เพื่อทำการจัดตำแหน่งทั่วโลก (ตรงข้ามกับบล็อกแบบ blockwise ซึ่งเหมาะกว่าสำหรับการใช้งานแบบโต้ตอบ)
หากคุณโชคดีจะมีแพ็คเกจที่มีอยู่ในตัวจัดการแพ็คเกจหลักของคุณดูหน้า repology ควรมีไฟล์ไบนารีที่สามารถดาวน์โหลดได้สำหรับบางสภาพแวดล้อมภายใต้หน้าเผยแพร่ หรือคุณสามารถติดตั้งสิ่งนี้ได้โดยใช้ cargo โดยทำการ cargo install biodiff คุณจะต้องติดตั้ง CMAKE สำหรับคุณสมบัติ wfa2 เพื่อรวบรวม โปรดทราบว่าในกรณีที่คุณใช้ Windows คุณจะต้องใช้เป้าหมาย x86_64-unknown-linux-gnu หากคุณต้องการรองรับ wfa2
นอกจากนี้คุณยังสามารถเรียกใช้งานโดยตรงโดยใช้รหัสจากที่เก็บนี้โดยการดำเนินการ cargo run --release -- file_a file_b โปรดทราบว่าไฟล์การกำหนดค่านั้นรับประกันได้ว่าจะเข้ากันได้ระหว่างรีลีสที่ติดแท็กเท่านั้น
โดยค่าเริ่มต้นการตั้งค่าจะถูกเก็บไว้ในไดเรกทอรีผู้ใช้เฉพาะแพลตฟอร์ม หากต้องการใช้ไดเรกทอรีการตั้งค่าที่กำหนดเองให้ตั้งค่าตัวแปรสภาพแวดล้อม BIODIFF_CONFIG_DIR เป็นเส้นทางไดเรกทอรีที่ต้องการก่อนที่จะเรียกใช้ biodiff หากไดเรกทอรีไม่มีอยู่มันจะถูกสร้างขึ้นโดยอัตโนมัติ
โครงการนี้ได้รับใบอนุญาตภายใต้ใบอนุญาต MIT