Как найти информацию внутри тега xml с помощью грэпа?

Я работаю над сценарием оболочки linux для поиска информации в файле xml, используя grep. Я на Mac, что, я надеюсь, не имеет большого значения.

Чтобы найти нужную мне информацию, я запускаю:

grep -oP "<title>(.*)</title>" temp.xml

В ответ я получаю список совпадений, включая </code></p> <p>Как я могу получить список только с информацией внутри тега <code>title</code>, но <strong>без </strong>тега <code>title</code>, используя grep?</p> </div> <div class="votes-question"> <div class="vote-count" itemprop="upvoteCount">12</div><i class="fa fa-thumbs-o-up"></i> </div> <div class="tags"> <a href="/questions/tagged/grep" class="tag" title="grep" rel="tag">grep</a> <a href="/questions/tagged/shell" class="tag" title="shell" rel="tag">shell</a> <a href="/questions/tagged/xml" class="tag" title="xml" rel="tag">xml</a> <a href="/questions/tagged/regex" class="tag" title="regex" rel="tag">regex</a> </div> <div class="clearfix"></div> <div class="action-time"> задан Filype <span title="28 May 2012 в 08:43 ">28 May 2012 в 08:43 </span> </div> <a class="s-link" href="/questions/664307/kak-najti-informaciju-vnutri-tega-xml-s-pomoschju-grepa" title="поделиться">поделиться</a> </div> </div> <div style="height:100px;margin:10px 0px;" class=""> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- siteask before post --> <ins class="adsbygoogle" style="display:block;height:100px" data-ad-client="ca-pub-2355906945027976" data-ad-slot="" data-ad-format="auto"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="answers" id="answers"> <h2 class="pull-left"><span itemprop="answerCount">0</span> ответов</h2> <div class="clearfix"></div> <div class="answer-pager"> <div class="pagination"> </div> </div> <div style="margin-top: 20px;"> Другие вопросы по тегам: <div class="tags" style="display: inline-block; float: none;"> <a href="/questions/tagged/grep" class="tag" title="grep" rel="tag">grep</a> <a href="/questions/tagged/shell" class="tag" title="shell" rel="tag">shell</a> <a href="/questions/tagged/xml" class="tag" title="xml" rel="tag">xml</a> <a href="/questions/tagged/regex" class="tag" title="regex" rel="tag">regex</a> </div> <h3 class="m-t-20">Похожие вопросы:</h3> <div class="related-block"> <ul> <li><div class='votes-answer green'><span class='vote-count'>39</span> <i class="fa fa-thumbs-o-up"></i></div> <a href="/questions/131674/dejstvitelno-li-xslt-stoit-togo-zakrytyj" title="Действительно ли XSLT стоит того? [закрытый]">Действительно ли XSLT стоит того? [закрытый]</a> - 14 March 2011 17:13 </li> <li><div class='votes-answer green'><span class='vote-count'>36</span> <i class="fa fa-thumbs-o-up"></i></div> <a href="/questions/83027/kak-dobavit-indikator-vypolnenija-v-scenarij-obolochki" title="Как добавить индикатор выполнения в сценарий оболочки?">Как добавить индикатор выполнения в сценарий оболочки?</a> - 30 May 2012 10:56 </li> <li><div class='votes-answer green'><span class='vote-count'>33</span> <i class="fa fa-thumbs-o-up"></i></div> <a href="/questions/13406/est-li-shablon-dlya-telefonny-x-nomerov-i-ix-prefiksov-v-zavisimosti-ot-strany-dublikat" title="Есть ли шаблон для телефонных номеров и их префиксов в зависимости от страны? [Дубликат] ">Есть ли шаблон для телефонных номеров и их префиксов в зависимости от страны? [Дубликат] </a> - 22 March 2017 17:18 </li> <li><div class='votes-answer green'><span class='vote-count'>33</span> <i class="fa fa-thumbs-o-up"></i></div> <a href="/questions/137540/skrytye-funkcii-bash" title="Скрытые функции Bash">Скрытые функции Bash</a> - 23 May 2017 12:17 </li> <li><div class='votes-answer green'><span class='vote-count'>33</span> <i class="fa fa-thumbs-o-up"></i></div> <a href="/questions/13407/regex-chtoby-sootvetstvovat-nigerijskim-nomeram-telefonov-dublirovat" title="Regex, чтобы соответствовать нигерийским номерам телефонов [дублировать] ">Regex, чтобы соответствовать нигерийским номерам телефонов [дублировать] </a> - 22 March 2017 17:18 </li> <li><div class='votes-answer green'><span class='vote-count'>32</span> <i class="fa fa-thumbs-o-up"></i></div> <a href="/questions/177940/reguljarnye-vyrazhenija-neobhodimost-dlja-programmirovanija-zakrytyj" title="Регулярные выражения - необходимость для программирования? [закрытый]">Регулярные выражения - необходимость для программирования? [закрытый]</a> - 21 May 2009 07:18 </li> <li><div class='votes-answer green'><span class='vote-count'>31</span> <i class="fa fa-thumbs-o-up"></i></div> <a href="/questions/2518/ne-udalos-uznat-nomer-telefona-s-kodom-strany-ispol-zuya-regex-v-python-duplicate" title="Не удалось узнать номер телефона с кодом страны, используя REGEX в python [duplicate] ">Не удалось узнать номер телефона с кодом страны, используя REGEX в python [duplicate] </a> - 22 March 2017 17:18 </li> </ul> </div> </div> </div> </div> </div> <aside class="sidebar"> <div class="awrap"> <script async src="https://yastatic.net/pcode-native/loaders/loader.js"></script> <script> (yaads = window.yaads || []).push({ id: "553274-2", render: "#id-553274-2" }); </script> <div id="id-553274-2"></div> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:inline-block;width:300px;height:600px" data-ad-client="ca-pub-2355906945027976" data-ad-slot="8038370725"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> </aside> </div> </div> <footer class="footer"> <div class="wrapper wrapper--sm"> <div class="footer-navs-col"> <div class="footer-nav footer-nav--menu"> <div class="footer-coryright">© 2017 - 2020 Вопросы и ответы по программированию</div> </div> <div class="footer-nav footer-nav--catalog"> </div> </div> <div class="footer-contacts-col"> <div class="soc-widget-col"> </div> </div> <div class="clearfix"></div> </div> </footer> </div> <script type="text/javascript" src="/js/ui/jquery-ui-1.8.16.custom.min.js"></script> <script type="text/javascript" src="/js/ui/external/jquery.cookie.js"></script> <script type="text/javascript" src="/js/versions/menu.ru.u1607887878.js"></script> <script type="text/javascript" src="/js/jquery.fancybox.min.js"></script> <script type="text/javascript" src="/js/slick.min.js"></script> <script type="text/javascript" src="/js/jquery.maskedinput.min.js"></script> <script type="text/javascript" src="/js/versions/scripts.ru.u1607887878.js"></script> <!-- Yandex.Metrika counter --> <script type="text/javascript" > (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)}; var z = null;m[i].l=1*new Date(); for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }} k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)}) (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym"); ym(90030325, "init", { clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true }); </script> <noscript><div><img src="https://mc.yandex.ru/watch/90030325" style="position:absolute; left:-9999px;" alt="" /></div></noscript> <!-- /Yandex.Metrika counter --> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-123993370-1"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-123993370-1'); </script> </div> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "WebSite", "name": "Программирование - вопросы и ответы", "alternateName": "Программирование - вопросы и ответы", "url": "https://legkovopros.ru", "potentialAction": { "@type": "SearchAction", "target": "https://legkovopros.ru/search?search={search_term_string}", "query-input": "required name=search_term_string" } } { "@context": "https://schema.org", "@type": "Organization", "name": "Программирование - вопросы и ответы", "url": "https://legkovopros.ru", "logo": "https://legkovopros.ru/i/logo.png", "email": "info@legkovopros.ru", "telephone": "" } </script> </body> </html>