मैं "डिफरेंट" कमांड के साथ अपने हिरन के लिए सबसे धमाका कैसे कर सकता हूं?


9

मैंने diffबहुत भाग्य या धैर्य के बिना अतीत में लिनक्स कमांड का उपयोग करने की कोशिश की है। मैं आमतौर पर एक GUI उपयोगिता जैसे कि DiffMerge या Kdiff का उपयोग करता हूं।

हाल ही में मैंने diffssh के माध्यम से दूरस्थ सिस्टम पर फ़ाइलों की तुलना करने के लिए फिर से उपयोग करने की कोशिश शुरू की , और मुझे -y / --side-by-sideविकल्प बहुत उपयोगी लगा है, लेकिन मुझे अभी भी ऐसा लगता है कि मैं इस उपयोगिता को नहीं बना रहा हूं।

इसलिए मैं निम्नलिखित चीजों को प्राप्त करने के लिए उत्सुक हूं:

  1. बदलाव को हाइलाइट करें या आउटपुट को अधिक पठनीय बनाने के लिए कलर-कोडिंग का उपयोग करें
  2. मर्ज - अंतर वाली पंक्तियों का चयन करें और फ़ाइलों में से एक में परिवर्तन को प्रभावित करें

इसके अलावा, मुझे गुग्लिंग करते समय कई अच्छे उदाहरण नहीं मिले हैं, इसलिए यदि आपके पास सबसे अलग आउट होने के लिए कुछ linux-fu रहस्य हैं, तो क्या आप कृपया साझा कर सकते हैं? मैं मुख्य रूप से पाठ-आधारित कॉन्फ़िगरेशन फ़ाइलों की तुलना कर रहा हूं, लेकिन कोई भी चाल और युक्तियां अद्भुत होंगी।

संदर्भ के लिए - डिफमैगर उपयोगिता आसानी से रंग हाइलाइटिंग के साथ कंधे से कंधा मिलाकर परिवर्तन दिखाती है। शीर्ष पर दिए गए आइकन आपको "सभी को दिखाएं," "अंतर दिखाएं," और "संदर्भ के साथ अंतर दिखाएं" के विचारों के बीच स्विच करने की अनुमति देते हैं। कमांड प्रॉम्प्ट पर इस कार्यक्षमता के कुछ प्यार करेंगे।

पीएस: मुझे यह भी ध्यान देना चाहिए कि एक अन्य विकल्प जो मुझे काफी उपयोगी लगता है, --suppress-common-linesजो कि मैंने इस संक्षिप्त और पठनीय ब्लॉग पोस्ट के बारे में सीखा है ।


3
मैं काफी हद तक vimdiff का उपयोग करता हूं।
nicerobot

@nicerobot आप इसे उत्तर के रूप में पोस्ट कर सकते हैं - यह एक बहुत ही उपयोगी और सहायक उपकरण है।
रोजीसेट्रेजियाकविज

आप खिचड़ी भाषा, इसके नि: शुल्क ..... क्षमा करें यह मदद नहीं कर सकता: D
whoami

मैं Emacs में अपने सबसे अलग है।
गिल्स एसओ- बुराई को रोकना '

@ भोमी - क्या?
cwd 24'11

जवाबों:


9

किसी विशेष क्रम में नहीं:

  • meld एक बहुत अच्छा अंतर कार्यक्रम है जो बहुत अच्छा अंतर करता है और तीन-तरफा विलय करता है।
  • git config --global merge.conflictstyle diff3जैसे उपकरणों के साथ उपयोग के लिए आपको तीन-तरफा मर्ज आउटपुट मिलता है meld
  • wdiffक्या शब्द अलग है, अगर रंग बहुत अच्छा है :wdiff -w "$(tput bold;tput setaf 1)" -x "$(tput sgr0)" -y "$(tput bold;tput setaf 2)" -z "$(tput sgr0)" ...
  • diffआउटपुट में cruft को कम करने के लिए , मैं आमतौर पर --ignore-all-space( -w) विकल्प का उपयोग करता हूं
  • diff-ignore-moved-lines* यह लेबल पर क्या कहता है।
  • difff* केवल उन पंक्तियों को अलग करने के लिए उपयोग किया जा सकता है जो दिए गए फ़ील्ड में मेल खाते हैं।

* अस्वीकरण: मैं लेखक हूं, और सीएलआई और जीयूआई को अलग करने और विलय करने में मदद करने के लिए इन्हें विकसित किया है।


1
मैं भी diffuseकाफी इस्तेमाल करता हूं ।
Arcege

diff -u भी काफी सीधा है, मुझे लगता है।
गाबा


3

रंग बदलने के लिए आपको http://colordiff.sourceforge.net/ पर देखना चाहिए । यह अंतर के चारों ओर सिर्फ एक आवरण है और इस तरह, सभी कमांड विकल्प अभी भी काम करते हैं।

यदि आपके पास ubuntu है तो बस लिखें:

    # sudo apt-get install colordiff

अपने उपयोग के मामले को पूरा नहीं करने के जोखिम को चलाना, gitएक बहुत अच्छा वीसीएस है जो कई अलग-अलग और विलय वाले टूल (कमांड लाइन और जीयूआई वाले) के साथ अच्छी तरह से एकीकृत करता है। यदि यह एक विकल्प है तो इसे आजमाएं।


1

प्रयत्न sdiff

diffउपयोग के लिए मर्ज स्क्रिप्ट बनाने के लिए विकल्प ( -eया -ed) भी हैंed

sdiff, diffऔर edआपके शेल का हिस्सा होना चाहिए जहां आप कभी जाते हैं।

आपके संस्करण नियंत्रण सॉफ़्टवेयर में संभवतः एक diffऔर mergeउपकरण भी बनाया गया है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.