我有一个html文件,其中包含以下部分:
<div id='webnews'>
... variable stuff ...
</div>
我要评论如下:
<!--
<div id='webnews'>
... variable stuff ...
</div>
-->
我能找到&amp;打印多行文本如下:
sed '/<div id="webnews"/, /<\/div>/ { p }' filename.html
尝试使用h,d,x和G,我一直无法解决如何使用'<!--' and '-->'
包装保持缓冲区或模式缓冲区。
非常感谢您帮助应对这一挑战。
答案 0 :(得分:1)
答案 1 :(得分:1)
sed "/<div id='webnews'/, /<\/div>/ {
/<div id='webnews'/ {
h
d
}
H
/<\/div>/ !d
x
s/^/<!--\\
/
s/$/\\
-->/
}" filename.html
答案 2 :(得分:1)
这可能适合你(GNU sed):
sed -e '/<div id='\''webnews'\''>/,/<\/dev>/!b;/<div id='\''webnews'\''>/i\<!--' -e '/<\/div>/a\-->' file
或者也许:
sed $'/<div id=.webnews.>/,/<\/dev>/{/<div id=.webnews.>/i\<!--\n;/<\/div>/a\-->\n}' file