आउटपुट को अधिक पठनीय बनाना


12

मैं एक ऐसे उपकरण की तलाश कर रहा हूं, जो डिफरेंट / डेबिड आउटपुट ( और विशेष रूप से, इस स्क्रिप्ट के आउटपुट ) को ले जाएगा और उच्च पठनीय, चित्रमय तरीके से तुलना के परिणाम को प्रदर्शित करेगा। कोई भी संकेतक प्रशंसनीय होंगे।

आदर्श रूप से, यह GTK +, FOSS MDR के बराबर होगा ।

मेल्ड, डिफ्यूज़ और इसी तरह के सॉफ्टवेयर इस उद्देश्य के लिए फिट नहीं हैं, क्योंकि वे स्टैंडअलोन काम करने के इरादे से हैं, और स्टड से इनपुट नहीं लेते हैं।

जवाबों:


8

कोम्पर यह कर सकता है (और सबसे अच्छा जीयूआई-दर्शक आईएमओ है):

./whatchanged package_name | kompare -

इनपुट फ़ाइल तर्क के रूप में दिए गए '-' पर ध्यान दें। अधिकांश * निक्स कार्यक्रमों में पाइप किए गए इनपुट को स्वीकार करने के लिए यह इंटरफ़ेस है, इसलिए आप शायद जिसे भी चाहें, उसका उपयोग कर सकते हैं।


हां, मैंने कोशिश की कि Meld के साथ, लेकिन क्या होता है कि Meld को तुरंत लॉन्च किया जाता है और स्क्रिप्ट के मध्यवर्ती आउटपुट को प्राप्त करता है, बजाय स्क्रिप्ट के खत्म होने और अलग आउटपुट प्राप्त करने के। मुझे शायद स्क्रिप्ट के प्रवाह को ठीक से काम करने के लिए समायोजित करने की आवश्यकता है मेल्ड और अन्य सॉफ़्टवेयर जिसे इसे पाइप किया गया है। और "bzr diff" और नियमित रूप से अलग आउटपुट के साथ, फाइल तुलना मोड के बजाय Meld को VCS मोड में लॉन्च किया गया है।
मिलीग्राम

मैंने -d विकल्प के साथ Meld लॉन्च करके VCS मोड समस्या का हल किया। कोम्पर भी काम करता है। स्क्रिप्ट पाइप को जागरूक करने के लिए जो कुछ बचा है वह सब है।
22

3

यदि आपके पास केवल एक कंसोल है, तो एक colordiffअच्छा समाधान है।

इसे स्थापित करने के लिए, इस कमांड sudo apt-get install colordiffको टर्मिनल में चलाएं


2

मैं का उपयोग कर की तरह vim 'एक पेजर के रूप में प्रकाश डाला आंतरिक वाक्य रचना है, ताकि मैं colorized डिफ देख सकते हैं। उदाहरण के लिए, इसे अपने में रखना .bashrc:

sudo apt-get install vim
alias vless='vim -u /usr/share/vim/vimcurrent/macros/less.vim'

(और फिर अपने .bashrcसाथ फिर से स्रोत . ~/.bashrc।) तो आप vlessअपने पेजर के रूप में चला सकते हैं :

vless /path/to/your.diff

यह चित्रमय नहीं है, लेकिन यह कम से कम हाइलाइट किया गया है।


लेकिन उन्होंने रंगीन डिफरेंशियल फाइलों के लिए नहीं पूछा, उन्होंने ग्राफिकल डिफरेंस के लिए कहा। कौन से संकेत हैं कि आपको मूल फ़ाइलों को पढ़ने में सक्षम होना चाहिए जितना कि खुद को अलग करना है।
मार्टिन ओवेन्स -doctormo-

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

आप अपने .bashrc में "sudo apt-get install vim" नहीं डाल रहे हैं, कृपया इसे स्पष्ट करने के लिए संपादित करें।
कैपी ईथरेल

2

यद्यपि एक KDE एप्लिकेशन इसे कई निर्भरता के बिना स्थापित किया जा सकता है, kdiff एक बहुत ही बढ़िया संपादन / मर्ज उपकरण है।


1
जबकि kdiff (उबंटू संग्रह में उर्फ ​​kdiff3) एक महान उपकरण है, यह भी ओपी के सवाल को संतुष्ट नहीं करता है, क्योंकि वे एक उपकरण की तलाश कर रहे हैं जो एसटीडीआईएन पर एक अंतर लेगा और इसे प्रदर्शित करेगा, और सीमित खोज से मैंने किया, मैं ऐसा करने का कोई तरीका नहीं देख सकता। इसके अलावा, यदि केडीई निर्भरता को कम करना एक समस्या है, तो ubuntu संग्रह में kdiff3-qt शामिल है, जो केवल केडीई स्टैक से क्यूटी और पुस्तकालयों पर निर्भर करता है।
स्टीव बीट्टी

2

मैं इस सरल स्क्रिप्ट का उपयोग मेलड (या किसी अन्य मौजूदा उपकरण) का उपयोग करने के लिए करूँगा, इस तरह से आपको थोड़ा सा लचीलापन मिलेगा:

#!/bin/bash

TMPDIR=`mktemp -d`
DIFF_FILE=`mktemp`
TARGET='./'

cat /proc/$$/fd/0 > $DIFF_FILE
cd $TARGET
rsync -apvz --delete --stats --compress --progress $TARGET $TMPDIR
patch -R -p0 -d $TMPDIR < $DIFF_FILE
meld $TARGET $TMPDIR

Meld और bzr से आउटपुट के साथ परीक्षण किया गया, इसलिए इसे / usr / bin और chmod 755 में कॉपी किया और मैंने ऐसा किया:

bzr diff | meld-diff

परिणाम उम्मीद के मुताबिक दिखे।


4
हालांकि यह एकल-उपयोगकर्ता मशीनों पर एक समस्या के रूप में नहीं है, आपको अपनी अस्थायी फ़ाइल और निर्देशिका को सुरक्षित रूप से उपयोग करने mktempऔर mktemp -dउत्पन्न करने के लिए चाहिए , यदि कोई अन्य कारण नहीं है ताकि आप एक ही समय में एक क्लोबिंग के बिना एक ही समय में कई पेड़ों पर अलग-अलग प्रदर्शन कर सकें। अन्य।
स्टीव बीटटी

यह bzr भिन्न के साथ काम करता है, लेकिन केवल निर्देशिका तुलना मोड में। मैं व्यक्तिगत फ़ाइलों की तुलना करने में सक्षम होना चाहता हूं। मैं इसे वास्तव में मेरी स्क्रिप्ट के साथ काम करने के लिए परिष्कृत करने की कोशिश करूंगा, जो फिलहाल नहीं है; धन्यवाद।
mgunes

अगर आपको लगता है कि स्क्रिप्ट का उपयोग करने का मेरा विचार अच्छा है, तो मुझे चिह्नित करें। अब तक मुझे बहुत नीचे चिह्नित किया गया है।
मार्टिन ओवेन्स -डोक्टोर्मो- 21

1

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

  • के लिए Emacs मामला है, आप का उपयोग करेगा Ediff मोड (डिफ़ॉल्ट रूप से instaled)। इस विकी पृष्ठ को देखें या आधिकारिक मैनुअल से परामर्श करें

  • Emacs का उपयोग करना सरल है, बस प्रकार Alt + xऔर प्रकार है ediff

  • आप एडिट का उपयोग ब्राउज़र अंतर बीटलाइन शाखाओं और अपनी रिपॉजिटरी (बीआरआर, जीआईटी, एसवीएन, आदि) के संशोधनों के लिए कर सकते हैं।


क्या आप एक त्वरित उदाहरण दिखाते हैं कि वर्तमान कार्य प्रतिलिपि (एकाधिक फ़ाइलों) के साथ दूरस्थ रूप से ट्रैक की गई शाखा को कैसे संपादित किया जाए?
जूल 25'13
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.