2009-07-02 7 views
56

तो उपयोगिता डिफ बस 2 फाइलों के लिए काम करता है, लेकिन मेरे पास एक प्रोजेक्ट है जिसके लिए एक समय में 2 से अधिक फ़ाइलों के साथ तुलना की आवश्यकता होती है, शायद एक समय में 10 तक। इसके लिए उन सभी फ़ाइलों को एक-दूसरे के साथ-साथ एक-दूसरे की आवश्यकता होती है। मेरे शोध ने वास्तव में कुछ भी नहीं बदला है, vimdiff एक समय में 4 की तुलना करने की क्षमता के साथ अब तक का सबसे अच्छा प्रतीत होता है।डीआईएफएफ उपयोगिता 2 फाइलों के लिए काम करती है। एक समय में 2 से अधिक फ़ाइलों की तुलना कैसे करें?

मेरा प्रश्न: क्या एक समय में 2 से अधिक फ़ाइलों की तुलना करने के लिए कोई उपयोगिता है, या diff/vimdiff हैक करने का कोई तरीका है ताकि यह कई तुलना कर सके? जिन फ़ाइलों की तुलना मैं करूँगा वे अपेक्षाकृत कम हैं इसलिए यह बहुत धीमी नहीं होनी चाहिए।

अग्रिम धन्यवाद!

उत्तर

88

10 फाइलों को साइड-बाय-साइड प्रदर्शित करना और अंतर को हाइलाइट करना आसानी से Diffuse के साथ किया जा सकता है।

फैलाना 1.txt 2.txt 3.txt 4.txt 5.txt 6.txt 7.txt 8.txt 9.txt 10.txt

+1

वाह, यह अद्भुत है! प्रतिक्रिया के लिए भी देर से धन्यवाद, मुझे अभी भी मदद की ज़रूरत है। –

+0

इस तरह की तुलना क्या कहा जाता है? – leeand00

+3

शानदार उपकरण; बस मुझे एक परेशानी की समस्या हल करने में मदद की।मुझे पता है कि यह एक पुराना जवाब है, लेकिन धन्यवाद! – SeanKilleen

2

चेकआउट "तुलना से परे": http://www.scootersoftware.com/

यह आप फ़ाइलों की पूरी निर्देशिका की तुलना कर सकते हैं, और जैसे कि यह भी लिनक्स पर चलता है यह लग रहा है।

+1

diff: बस इस तरह कमांड लाइन पर सभी फाइलों को निर्दिष्ट -r फ़ाइलों की पूरी निर्देशिकाओं की तुलना भी करता है, लेकिन यह दूसरी निर्देशिका से फ़ाइलों के खिलाफ केवल एक सूखे से फ़ाइलों की तुलना करता है – reinierpost

+1

तुलना से परे एक शानदार उपकरण है, और मैं विलय विवादों को हल करने के लिए हर समय इसका उपयोग करता हूं। हालांकि यह इस नौकरी के लिए सही उपकरण नहीं है, क्योंकि यह केवल एक दूसरे के खिलाफ या एक आम पूर्वजों के खिलाफ दो फाइलों की तुलना कर सकता है। – Superole

17

विम पहले से ही ऐसा कर सकते हैं:

vim -d file1 file2 file3 

लेकिन आप सामान्य रूप से 4 फ़ाइलों तक सीमित कर रहे हैं। हालांकि, आप विम के स्रोत में एक पंक्ति को संशोधित करके इसे बदल सकते हैं। निरंतर DB_COUNT अधिकतम संख्या diff एड फ़ाइलों को परिभाषित करता है, और यह संस्करणों को क्रमशः 7.0 और बाद के संस्करणों में diff.c के शीर्ष पर परिभाषित किया गया है, या structs.h के संस्करणों के लगभग दो तिहाई को परिभाषित किया गया है।

+0

vimdiff या vim -d केवल कम से कम 4 फाइलें मेरे कंप्यूटर पर कम से कम कर सकता है। किसी को भी यह बाईपास करने के बारे में पता है? –

+0

मैंने इस सवाल का उल्लेख नहीं किया। विम की सीमा को बदलने के निर्देशों को शामिल करने के लिए अपडेट किया गया। –

+0

अरे, क्या आप जानते हैं कि वास्तव में structs.h या diff.c कैसे प्राप्त करें? मैं विन या लिनक्स पर विम स्रोत कोड नहीं ढूंढ सकता। –

2

यदि आपके चल रहे एकाधिक diff के एक फ़ाइल के आधार पर आप शायद एक स्क्रिप्ट लिखने का प्रयास कर सकते हैं जिसमें प्रत्येक निर्देशिका के माध्यम से चलाने के लिए लूप के लिए एक है और diff चलाएं। यद्यपि यह एक तरफ नहीं होगा, आप कम से कम उनकी तुलना जल्दी से कर सकते हैं। उम्मीद है कि मदद की।

+0

हाँ, लेकिन अगर मैं उदाहरण के लिए 3 फाइलों की तुलना कर रहा था, तो मैं उन्हें अन्य 2 फाइलों के खिलाफ सभी diff करना चाहता हूं, क्योंकि diff करता है यह देखने के लिए पुनर्व्यवस्थित है कि वे कहां मिलते हैं। –

+0

मुझे यह आदेश मिला जो आपकी स्क्रिप्ट के साथ मदद कर सकता है, जिसे diff3 कहा जाता है और माना जाता है कि यह तीन फ़ाइलों की तुलना करने के लिए उपयोगिता है। http://linux.about.com/library/cmd/blcmdl1_diff3.htm खिड़कियों संस्करण यहां पाया जा सकता http://gnuwin32.sourceforge.net/packages/diffutils.htm –

संबंधित मुद्दे