मेरे पास 3 बाइनरी फ़ाइलें हैं। आइए उन्हें file1.bin
, file2.bin
और file3.bin
पर कॉल करें।3 बाइनरी फाइलों के लिए डिफ
file1.bin
औरfile2.bin
कुछ सामान्य भाग हैं।file2.bin
औरfile3.bin
कुछ सामान्य भागों हैं।
मैं file1.bin
और file2.bin
कि file2.bin
और file3.bin
के बीच अलग हैं के बीच आम भागों लगाना चाहते हैं।
आप इसे पूरा करने की सलाह कैसे देते हैं? मैंने xxd
का उपयोग करके बाइनरी फ़ाइलों को टेक्स्ट फ़ाइलों में पहले से ही डंप कर दिया है और फिर vim -d file1.txt file2.txt file3.txt
का उपयोग करके 3-तरफा diff किया है।
हालांकि, vim
सभी फ़ाइलों में परिवर्तित होने के रूप में एक हिस्सा को चिह्नित करता है भले ही यह केवल एक फ़ाइल में बदल गया हो और अन्य दो फाइलों में भी बना रहता है। मैं उन विशेष प्रकार की घटनाओं को अलग-अलग चिह्नित करना चाहता हूं।
क्या समस्या में वर्णित तरीके से यह 3 तरीके भिन्न हो सकता है? मैं नहीं पता कि कैसे, आप इसका वर्णन करेंगे? – Dimme
bsdiff बाइनरी फ़ाइलों पर काम करता है, और बाइनरी पैच का उत्पादन करता है। vimdiff टेक्स्ट फ़ाइलों को इसके इनपुट के रूप में उम्मीद करता है, इसलिए मैं बीएसडीएफ को जिस तरीके से आप यहां चाहूंगा, उसे बनाने का तरीका नहीं सोच सकता। एक विकल्प के रूप में, देखें कि बाइनरी फाइलों के लिए शिकारी उत्पन्न करते समय भिन्न प्रोग्राम के लिए अतिरिक्त सेटिंग का उपयोग करने के लिए आप 'v' diffexpr''' विकल्प का उपयोग कर सकते हैं - शायद '' -I'' विकल्प का उपयोग करें "लाइन" के लिए रेगेक्स निर्दिष्ट करने के लिए 'diff''' को अलग करने के दौरान अनदेखा किया जाना चाहिए। – holygeek