एक ही समय में दो पाठ फ़ाइलों को एक साथ देखें


21

मेरे पास दो टेक्स्ट फाइलें हैं। प्रत्येक पंक्ति एक भाषा में एक पंक्ति का प्रतिनिधित्व करती है। मुझे जाँचने की ज़रूरत है कि क्या संरेखण हमेशा फिट बैठता है। इसलिए मुझे एक प्रोग्राम की आवश्यकता है जो लाइन नंबर के साथ एक ही समय में दोनों पाठ फ़ाइलों को प्रदर्शित करता है।

मैंने फैलाने की कोशिश की, लेकिन यह फाइलों को संरेखित करने की कोशिश करता है - अगर दुर्घटना से दो लाइनें समान होती हैं, तो पूरी लाइन-वार दृश्य तुलना काम नहीं करती है।

जवाबों:


28

scrollbindसेट के साथ विम का उपयोग करें । उदाहरण के लिए:

vim -O +'windo set scrollbind' /etc/profile /etc/profile.pacnew

यहां छवि विवरण दर्ज करें

साथ scrollbindमें, यदि आप एक विंडो में स्क्रॉल करें, अन्य बाध्य खिड़कियां भी एक ही समय में स्क्रॉल करें। लाइन नंबर रखने के लिए, ~/.vimrcनिम्नलिखित दो लाइनों में से एक न्यूनतम पर्याप्त है:

set nocompatible
set number

ऐसा नहीं है कि आपको इसके लिए आवश्यकता है vimrc- यह पूरी तरह से कमांडलाइन से किया जा सकता है:

vim -NO +'set nu' +'windo set scrollbind' file1 file2 ...

12

यूनिक्स के शुरुआती दिनों से एक कमांड के बारे में कैसे?

pr -m file1 file2

उदाहरण के लिए:

pr  -m English Spanish

2016-01-18 00:34                                                  Page 1

this is something                esto es algo
hello, there                     Hola

अपडेट: आप आउटपुट को अपने टर्मिनल के आकार में फिट कर सकते हैंless

pr -m file1 file2 | less

4
अगर मैं ऐसा सुझाव दे सकता हूं, तो less -Nलाइन नंबरों को एक साथ दिखाने के लिए आउटपुट को पाइप करें । pr -m file1 file2 | less -N
सेर्गेई कोलोडियाज़नी

11

GUI से आप कोशिश कर सकते हैं meld:

स्क्रीनशॉट

यह बिल्कुल वैसा नहीं है जैसा आप पूछ रहे हैं, बल्कि यह आपके उद्देश्य के लिए भी उतना ही उपयोगी होना चाहिए।

पाठ के अतिरिक्त वर्गों को हरे रंग में हाइलाइट किया जाएगा, पाठ के विभिन्न खंडों को नीले रंग में हाइलाइट किया जाएगा (और इसी तरह पाठ के विभिन्न वर्गों में गहरे नीले रंग में हाइलाइट किया जाएगा)।

उस समय दो से अधिक फ़ाइलों के लिए भी काम करता है।


मैं पसंद करता हूं और मेल्ड, kdiff3, यहां तक ​​कि sdiff का उपयोग करता हूं; लेकिन अगर मैं सिर्फ दो फाइलों को एक साथ देखना चाहता हूं जो (माना जाता है) अलग हैं (उदाहरण के लिए, i18n अनुवाद संसाधन बंडल - संपत्ति का मिलान होता है, मान नहीं करता है; लापता गुणों की तलाश), तो मिलान को पूरा करने के प्रयास। रेखाएँ और चिह्न रेखाएँ जो भिन्न होती हैं, वास्तव में एक ऋणात्मक होती हैं।
माइकल

@michael_n मुझे यह समझने में नुकसान हो रहा है कि यह नकारात्मक क्यों होगा। शायद मैं इस बिंदु को याद कर रहा हूं, लेकिन अगर आप उपयोग करते meldहैं , तो आपको ध्यान देना चाहिए कि जिन मामलों में आप लाइनों का वर्णन कर रहे हैं, वे हल्के नीले रंग में और विशिष्ट अतिरिक्त वर्ण गहरे नीले रंग में हाइलाइट किए जाते हैं, जिससे सटीक अंतर तुरंत सामने आता है। । या क्या मैं कुछ न कुछ भूल रहा हूं?
कोस

आप बिल्कुल सही हैं, और मुझे स्पष्ट करना चाहिए था; समस्या यह है कि इन उपकरणों के पास यह उम्मीद करने और अनुमति देने के लिए एक कॉन्फ़िगर विकल्प नहीं है कि कुछ अंतर होने चाहिए (afaik)। कुछ मामलों में, वे पूरी फ़ाइल को लाइन अप करने के लिए परेशान करने के लिए बहुत भिन्न मानते हैं। उदाहरण के लिए, एक उपयोगी विकल्प (मेरे उदाहरण के साथ: msg.text = "Hello" बनाम msg.text = "बोनजोर") या तो "पहले N वर्ण", या regexp: "^ *। = "
माइकल

दरअसल, मुझे लगता है कि sdiff के पास regexp द्वारा अनदेखा करने का विकल्प है (लेकिन मैं सकारात्मक नहीं हूं)। फिर भी, यदि यह केवल फ्रेंच और अंग्रेजी से मुक्त रूप का पाठ है, तो कुछ भी उजागर करने की आवश्यकता नहीं है, और लाइनों के मिलान के लिए कोई भी प्रयास - जैसा कि मैंने उल्लेख किया है - एक नकारात्मक होगा। कभी-कभी, हम बस फाइलों को एक साथ देखना चाहते हैं (और मूल प्रश्न का सार, जैसा कि मैंने समझा था)।
माइकल

@michael_n वास्तव में मैंने सिर्फ भाषा तुलना चीज़ पर ध्यान दिया है, किसी कारण से शुरू में मुझे लगा कि उन्हें एक अधिक सामान्य उद्देश्य पाठ तुलना उपकरण की आवश्यकता है। संभवत: आप सही हैं, मुझे इसे हटा देना चाहिए, हालांकि मैं यह भी विचार कर रहा हूं कि सामान्य रूप से शीर्षक वाले प्रश्नों के रूप में यह आमतौर पर खोज इंजन से बहुत सारी यात्राओं को आकर्षित करता है (जैसे अगर मैं Google "साइड बाय उबंटू" यह वर्तमान में तीसरा है परिणाम)। तो शायद यह बेहतर है अगर यह इस मामले में रहता है। आखिर इसे चोट नहीं पहुंचनी चाहिए। सटीक उत्तर पहले से ही ढेर के ऊपर बनाते हैं।
कोस


0

यदि आप अनुवाद देख रहे हैं तो आपको Poedit उपयोगी लग सकता है। यह आपके लिए दो ग्रंथों को एक साथ प्रदर्शित कर सकता है और अनुवाद के साथ काम करने के लिए बनाया गया है।


1
समाधान के लिए लिंक चिपकाने के बजाय, आपको इसे 'कैसे' भी समझाना चाहिए
एडवर्ड टॉर्वाल्ड्स

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