मैं नहीं देख सकते हैं कि आप इस के लिए ग्रेप का उपयोग करना चाहते हैं, यह हो सकता है, जबकि एक छोटी सी XPath अभिव्यक्ति के साथ हल:
//title/text()
XPath के लिए कई कमांड लाइन औजार हैं और वे आमतौर पर ओएस के साथ बंडल कर रहे हैं।
this question on Stack Overflow के उत्तर इस तरह के कई उपकरणों की सूची।
grep
के साथ समस्या यह है कि यह टेक्स्ट प्रोसेसिंग के लिए एक सामान्य उपकरण है और यह किसी भी XML संरचना से अवगत नहीं है। एक बहुत ही सरल परिदृश्य के लिए, आप get it working कर सकते हैं। यदि दस्तावेज़ जटिल है या यदि आप इसे किसी स्क्रिप्ट में उपयोग कर रहे हैं जो महीनों या वर्षों तक जीवित रहेगा, न सिर्फ एक-एक नौकरी के लिए, आप परिणामों के लिए खेद महसूस कर सकते हैं।
XPath दस्तावेज़ में विभिन्न संदर्भों में दिखाई देने वाले समान नाम वाले टैग के बीच अंतर बताना आसान बनाता है।
<article>
<author>
<name>Jon Doe</name>
<title>Chief Editor</title>
</author>
<title>On the Benefits of grep</title>
<publicationDate>2018-02-12</publicationDate>
<text>blah blah blah</text>
</article>
लेख grep
के साथ इस दस्तावेज़ का प्रतिनिधित्व करती विफल हो जाएगा यदि आप अन्य उत्तर यहां पोस्ट के किसी भी उपयोग किया जाता है के शीर्षक निकाला जा रहा है। आप जो चाहते हैं उसे पाने के लिए तकनीकी रूप से नियमित अभिव्यक्ति लिख सकते हैं लेकिन XPath के साथ यह बहुत आसान है।
/article/title/text()
आप जानते हैं कि आप एक छोटी सी दस्तावेज़ के साथ काम कर रहे हैं और प्रारूप में परिवर्तन नहीं होता या अगर यह एक बार काम जहाँ आप शीघ्रता से परिणाम को मान्य कर सकते है, आप के रूप में दूसरों के द्वारा समझाया grep
के लिए जा सकते हैं।
क्यों आप XPath बजाय का उपयोग नहीं करते में सुझाव दिया xpath का उपयोग कर xgrep स्थापित कर सकता है? – toniedzwiedz
इसे एक त्वरित पटकथा नौकरी होना है, मैं इस पर उम्र बिताना नहीं चाहूंगा। क्या आप एक अच्छा xpath कमांड लाइन उपकरण की सिफारिश कर सकते हैं? – Filype
ऐसा लगता है कि मुझे पहले से ही xpath5.12 इंस्टॉल किया गया है।कोई मैन्युअल प्रविष्टि हालांकि – Filype