我在一行中有以下数据:
<a href="#page-metadata-start" class="assistive">Go to start of metadata</a>
<div id="page-metadata-end" class="assistive"></div>
<fieldset class="hidden parameters">
<input type="hidden" title="browsePageTreeMode" value="view">
</fieldset>
<div class="wiki-content">
<p>(openissues)81(/openissues)</p><p>(assignstoday)0(/assignstoday)</p><p>(assignsweek)2(/assignsweek)</p><p>(replyissues)6(/replyissues)</p><p>(wrapissues)26(/wrapissues)</p>
</div>例如,我想获取"openissues“的值,但我不知道如何正确地检索它。我尝试的其中一件事是下面的命令:
sed -n '/(assignstoday)/,/(\/assignstoday)/p' ~/test.txt有什么帮助吗?
发布于 2011-05-18 19:42:19
sed 's/.*(openissues)\(.*\)(\/openissues).*/\1/' test.txt一个可能满足您的编辑要求的快速技巧:
sed -n '/openissues/p' test.txt | sed 's/.*(openissues)\(.*\)(\/openissues).*/\1/'但是在解析HTML时,正则表达式确实不是一种可行的方法。
发布于 2011-05-18 19:48:12
我会试着
VALUE=openissues
sed 's@.*('"$VALUE"')\([^(]\+\).*@\1@'也就是说,将除要搜索的内容之外的所有内容替换为该内容。
编辑:现在我看到了Neil的回答,这几乎是一样的,接受他的。我把我的答案留给你想要提取的值的定制。
https://stackoverflow.com/questions/6043936
复制相似问题