我想通过使用正则表达式从html中grep一些内容并将该内容写入新的html。示例HTML如下:
<html>
<script src='.....'>
</script>
<style>
...
</style>
<div class='header-outer'>
<div class='header-title'>
<div class='post-content'>
<noscript>
<p>content we want</p>
</noscript>
</div>
</div></div>
<div class='footer'>
</div>
</html>
我可以使用grep选择<div class='post-content'>
和</div>
之间的内容,并将内容写入新的HTML吗?所以新的HTML看起来像这样:
<div class='post-content'>
<noscript>
<p>content we want</p>
</noscript>
</div>
我对Stack溢出做了一些研究,发现了一些可能对我的问题有帮助的代码,比如
grep -L -Z -r "<div class='post-content'>.*?<\/noscript><\/dive>" .| xargs -0 -I{} mv {} DIR
?
这是对的吗?如果是,xargs
部分意味着什么?谢谢,我期待着你的回复!
答案 0 :(得分:1)
您可以使用此GNU sed
sed -n "/<div class='post-content'>/,/<\/div>/p" file.html > output.html
-n不打印
p打印范围