2010-04-30 10 views
9

मैं दो फाइलों को कैसे भिन्न कर सकता हूं और अनुक्रम से शुरू होने वाली रेखाओं को अनदेखा कर सकता हूं।diff के साथ एक स्ट्रिंग के साथ शुरू लाइनों को अनदेखा कैसे करें?

उदा

File1: 
abc 
def 
time:123 

File2: 
igh 
def 
time:345 

यूनिक्स के साथ diff यह रिपोर्ट करेंगे

<time:123 
>time:345 

मैं इस अंतर को नजरअंदाज करना चाहते हैं। कोई विचार?

उत्तर

13

कैसे: diff -I '^time.*' file1 file2?

कृपया नहीं यह doesn't always work as expected प्रति diffutils पुस्तिका के रूप में:

हालांकि, -I केवल प्रविष्टि या लाइनों कि नियमित अभिव्यक्ति को नियंत्रित करता है, तो हंक (हर प्रविष्टि और हर विलोपन) में हर बदली हुई पंक्ति से मेल खाती का विलोपन पर ध्यान नहीं देता नियमित अभिव्यक्ति।

दूसरे शब्दों में, प्रत्येक गैर-अनजान परिवर्तन के लिए, diff अनजान लोगों सहित इसके आसपास के परिवर्तनों का पूरा सेट प्रिंट करता है। आप एक से अधिक -I विकल्प का उपयोग कर अनदेखा करने के लिए लाइनों के लिए एक से अधिक नियमित अभिव्यक्ति निर्दिष्ट कर सकते हैं। diff प्रत्येक नियमित अभिव्यक्ति के खिलाफ प्रत्येक पंक्ति से मेल खाने का प्रयास करता है, जो अंतिम दिया गया है।

संबंधित मुद्दे