ऑनवर्क्स लिनक्स और विंडोज ऑनलाइन वर्कस्टेशन

प्रतीक चिन्ह

वर्कस्टेशन के लिए मुफ्त होस्टिंग ऑनलाइन

<पिछला | विषय-सूची | अगला>

diff

जैसा कॉम कार्यक्रम diff फ़ाइलों के बीच अंतर का पता लगाने के लिए उपयोग किया जाता है। तथापि, diff एक अधिक जटिल उपकरण है, जो कई आउटपुट स्वरूपों का समर्थन करता है और एक ही बार में टेक्स्ट फ़ाइलों के बड़े संग्रह को संसाधित करने की क्षमता रखता है। diff प्रोग्राम स्रोत कोड के विभिन्न संस्करणों के बीच परिवर्तनों की जांच करने के लिए सॉफ़्टवेयर डेवलपर्स द्वारा अक्सर इसका उपयोग किया जाता है, और इस प्रकार इसमें स्रोत कोड की निर्देशिकाओं की पुनरावर्ती जांच करने की क्षमता होती है, जिसे अक्सर कहा जाता है स्रोत वृक्ष. के लिए एक सामान्य उपयोग diff का निर्माण है भिन्न फ़ाइलें or पैच जिनका उपयोग प्रोग्राम द्वारा किया जाता है जैसे कि पैच (जिस पर हम शीघ्र ही चर्चा करेंगे) किसी फ़ाइल (या फ़ाइलों) के एक संस्करण को दूसरे संस्करण में परिवर्तित करने के लिए।

अगर हम उपयोग करते हैं diff हमारी पिछली उदाहरण फ़ाइलों को देखने के लिए:


[मुझे@लिनक्सबॉक्स ~]$ अंतर फ़ाइल1.txt फ़ाइल2.txt

1d0

<ए4ए4

> ई

[मुझे@लिनक्सबॉक्स ~]$ अंतर फ़ाइल1.txt फ़ाइल2.txt

1d0

<ए4ए4

> ई


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


तालिका 20-4: भिन्न परिवर्तन आदेश


विवरण बदलें

विवरण बदलें

r1ar2 स्थिति में पंक्तियाँ जोड़ें r2 दूसरी फ़ाइल में स्थिति के लिए

पहली फ़ाइल में r1.


की छवि

r1cr2 पंक्तियों को स्थान पर बदलें (बदलें)। r1 स्थिति पर रेखाओं के साथ r2 दूसरी फ़ाइल में.


की छवि

r1dr2 पहली फ़ाइल में स्थिति से पंक्तियाँ हटाएँ r1, जो सीमा पर दिखाई देता r2 दूसरी फ़ाइल में


की छवि


इस प्रारूप में, एक श्रेणी आरंभिक पंक्ति और अंतिम पंक्ति की अल्पविराम से अलग की गई सूची है। हालाँकि यह प्रारूप डिफ़ॉल्ट है (ज्यादातर POSIX अनुपालन और पारंपरिक यूनिक्स संस्करणों के साथ पश्चगामी संगतता के लिए) diff), यह अन्य वैकल्पिक प्रारूपों की तरह व्यापक रूप से उपयोग नहीं किया जाता है। दो अधिक लोकप्रिय प्रारूप हैं संदर्भ प्रारूप और एकीकृत प्रारूप.

जब संदर्भ प्रारूप का उपयोग करके देखा जाता है ( -c विकल्प), हम इसे देखेंगे:


[मुझे@लिनक्सबॉक्स ~]$ अंतर -c फ़ाइल1.txt फ़ाइल2.txt

*** फ़ाइल1.txt 2008-12-23 06:40:13.000000000 -0500

--- file2.txt 2008-12-23 06:40:34.000000000 -0500

***************

*** 1,4 ****

- ए बी सी डी

--- 1,4 ----

बीसीडी

+ और

[मुझे@लिनक्सबॉक्स ~]$ अंतर -c फ़ाइल1.txt फ़ाइल2.txt

*** फ़ाइल1.txt 2008-12-23 06:40:13.000000000 -0500

--- file2.txt 2008-12-23 06:40:34.000000000 -0500

***************

*** 1,4 ****

- ए बी सी डी

--- 1,4 ----

बीसीडी

+ और


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

*** 1,4 ***

जो पहली फ़ाइल में पंक्ति 1 से 4 तक इंगित करता है। बाद में हम देखते हैं:

---1,4 ---

जो दूसरी फ़ाइल में पंक्ति 1 से 4 तक इंगित करता है। परिवर्तन समूह के भीतर, रेखाएँ चार संकेतकों में से एक से शुरू होती हैं:


तालिका 20-5: भिन्न संदर्भ प्रारूप परिवर्तन संकेतक


संकेतक अर्थ

संकेतक अर्थ

रिक्त संदर्भ के लिए दिखाई गई एक पंक्ति। यह दोनों फ़ाइलों के बीच अंतर नहीं दर्शाता है.


की छवि

- एक पंक्ति हटा दी गई. यह पंक्ति पहली फ़ाइल में दिखाई देगी लेकिन दूसरी फ़ाइल में नहीं।


की छवि


की छवि

+ एक पंक्ति जोड़ी गई. यह पंक्ति दूसरी फ़ाइल में दिखाई देगी लेकिन पहली फ़ाइल में नहीं।


की छवि

! एक पंक्ति बदल गयी. लाइन के दो संस्करण प्रदर्शित किए जाएंगे, प्रत्येक परिवर्तन समूह के अपने संबंधित अनुभाग में।


की छवि


एकीकृत प्रारूप संदर्भ प्रारूप के समान है लेकिन अधिक संक्षिप्त है। यह के साथ निर्दिष्ट है -u विकल्प:


[मुझे@लिनक्सबॉक्स ~]$ diff -u file1.txt file2.txt

--- file1.txt 2008-12-23 06:40:13.000000000 -0500

+++ फ़ाइल2.txt 2008-12-23 06:40:34.000000000 -0500

@@ -1,4 +1,4 @@

-ए बी सी डी

+e

[मुझे@लिनक्सबॉक्स ~]$ diff -u file1.txt file2.txt

--- file1.txt 2008-12-23 06:40:13.000000000 -0500

+++ फ़ाइल2.txt 2008-12-23 06:40:34.000000000 -0500

@@ -1,4 +1,4 @@

-ए बी सी डी

+e


संदर्भ और एकीकृत प्रारूपों के बीच सबसे उल्लेखनीय अंतर संदर्भ की डुप्लिकेट की गई पंक्तियों का उन्मूलन है, जिससे एकीकृत प्रारूप के परिणाम संदर्भ प्रारूप की तुलना में छोटे हो जाते हैं। उपरोक्त हमारे उदाहरण में, हम फ़ाइल टाइमस्टैम्प को कॉन्टेक्स्ट प्रारूप की तरह देखते हैं, जिसके बाद स्ट्रिंग आती है @@ -1,4 +1,4 @@. यह परिवर्तन समूह में वर्णित पहली फ़ाइल की पंक्तियों और दूसरी फ़ाइल की पंक्तियों को इंगित करता है। इसके बाद संदर्भ की डिफ़ॉल्ट तीन पंक्तियों के साथ स्वयं पंक्तियाँ हैं। प्रत्येक पंक्ति तीन संभावित वर्णों में से एक से प्रारंभ होती है:


तालिका 20-6: भिन्न एकीकृत प्रारूप परिवर्तन संकेतक


चरित्र अर्थ

चरित्र अर्थ

रिक्त यह पंक्ति दोनों फ़ाइलों द्वारा साझा की गई है।


की छवि

- यह लाइन पहली फ़ाइल से हटा दी गई थी।


की छवि

+ यह पंक्ति पहली फ़ाइल में जोड़ी गई थी।


की छवि


OnWorks पर शीर्ष OS क्लाउड कंप्यूटिंग: