विभिन्न फ़ाइलों के लिए निर्देशिकाओं को कैसे अलग करें, लेकिन लाइन-बाय-लाइन नहीं


16

मैं देखना चाहता हूँ, पुनरावर्ती, फ़ाइलें जो दो निर्देशिकाओं में भिन्न हैं। डिफ यह कर सकता है, लेकिन यह मुझे लाइन-बाय-लाइन अंतर दिखाता है, जो मुझे नहीं चाहिए। वहाँ एक उपकरण है कि यह करता है, या डिफ के साथ ऐसा करने का एक तरीका है (मैंने मैन पेज पढ़ा, मैंने कुछ भी नहीं देखा)?

जवाबों:


29

व्हाट अबाउट

diff -rq DIR1 DIR2

या

diff -rqb DIR1 DIR2

-आर पुनरावर्ती है

-q संक्षिप्त के लिए है, और बस आपको बताएंगे कि क्या फाइलें अलग हैं (यानी, यह लाइन-बाय-लाइन अंतर नहीं दिखाएगा)

-b व्हॉट्सएप को नजरअंदाज करता है


1
-बी सफेद स्थान परिवर्तन की अनदेखी करता है। संक्षिप्त विकल्प के लिए -q या --brief।
डग हैरिस

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

धन्यवाद डग; मुझे लगता है कि मैंने मूल रूप से मेरा विकल्प 180 डिग्री घुमाया था। ;) अब फिक्स्ड।
लूटने

2

आप -qविकल्प ढूंढ रहे हैं :

dlamblin$ diff -r a b
diff -r a/a b/a
0a1,2
> 
> 
Only in b: b
dlamblin$ diff -qr a b
Files a/a and b/a differ
Only in b: b

1

ऐसा करने का एक तरीका है

diff dir1 dir1| grep "diff "

यह अभी भी एक लाइन-बाय-लाइन तुलना करेगा, लेकिन प्रत्येक फ़ाइल की तुलना "diff dir1 / file dir2 / file" से शुरू होती है, इसलिए "भिन्न" को grepping केवल उन पंक्तियों (यानी अलग-अलग होने वाली फाइलें) को दिखाएगा।


1

यदि आप एक emacs उपयोगकर्ता हैं, तो एडिफ-डाइरेक्टरीज़ देखें। आप फ़ाइल अंतर देख सकते हैं और फिर लाइन-बाय-लाइन अंतर में ड्रिल कर सकते हैं यदि आपको यह देखने की आवश्यकता है कि वे अलग क्यों हैं।

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