फ़ाइलों की तुलना करते समय मैं लाइन अंत को कैसे अनदेखा कर सकता हूं?


83

मैं दो पाठ फ़ाइलों की तुलना कर रहा हूं और मुझे निम्नलिखित परिणाम मिले:

diff file1 file2 | grep 12345678

> 12345678
< 12345678

जैसा कि आप देख सकते हैं, दोनों फ़ाइलों में समान स्ट्रिंग मौजूद है, और दोनों फ़ाइलों के साथ हल किया गया था sort

यहां (विंडोज बनाम यूनिक्स) लाइन लाइन को समाप्त होना चाहिए।

क्या diffयूनिक्स पर लाइन अंत को अनदेखा करने का एक तरीका है ?


4
diff --strip-trailing-cr file1 file2?
रुसलान उस्मानोव

@RuslanOsmanov एक जवाब की तरह लगता है, धन्यवाद। Btw कि के रूप में ही है -w?
वाइकिंगस्टीवेट

3
नहीं, -wसफेद स्थानों में अंतर की उपेक्षा करता है, और "White space" characters include tab, vertical tab, form feed, carriage return, and space। उदाहरण के लिए, diff a b`लाइन` और के लिए अंतर दिखाएगा <tab>line, लेकिन diff -w a bनहीं होगा
रुस्लान ओस्मानोव

@RuslanOsmanov यह एक अच्छा स्पष्टीकरण है, क्या आप इसे एक उत्तर में स्थानांतरित करने के लिए मन करेंगे ताकि मैं इसे स्वीकार कर सकूं।
वाइकिंगस्टीवेट

क्या इससे आपके सवाल का जवाब मिलता है? लाइन-एंड अज्ञेयवादी अंतर? । लगभग 9 साल पहले।
पीटर मोर्टेंसन

जवाबों:


136

--strip-trailing-crविकल्प का उपयोग करें :

diff --strip-trailing-cr file1 file2

विकल्प diffफ़ाइलों की तुलना करने से पहले ट्रेलिंग कैरिज रिटर्न चरित्र को पट्टी करने का कारण बनता है।


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