我已经接近了我的需求:
grep -o '<div class="item">.*</div>' file.html > result.html
除了这是第一个实例(包括标签本身,但我只想要标签内的文本,以及它之后的所有文本和标签,直到最后一个div的结束。所以给出:
<body><div class="item">text</div><h3>Hello</h3><div class="item">text2</div></body>
我试图获得:
text
text2
但是我得到了
<div class="item">text</div><h3>Hello</h3><div class="item">text2</div>
如何纠正?
答案 0 :(得分:0)
虽然,我建议使用专门的工具来解析HTML
或XML
,但您可以使用positive lookbehind并将模式解释为与Perl兼容的正则表达式(PCRE){{1} }
grep -P
你明白了,
grep -oP '(?<=<div class="item">)[^<]*' file.html