我实际上可以这样做<h1>
:
sed s/\<h1\>/\<h2\>/ myblog.html
但我如何让它也做尾随</h1>
?
所以我想从:
<h1> some header </h1> to <h2> some header </h2>
定义 sed 替换命令时不需要使用斜杠,它可以是另一个符号:
sed -e 's/<h1>/<h2>/g' -e 's_</h1>_</h2>_g'
使用捕获组捕获可选/
并通过反向引用捕获组来替换:
sed -r 's/<(\/?)h1>/<\1h2>/' myblog.html
-r
选项是激活扩展正则表达式。
有时我发现 HTML 标记最简单的解决方案是完全忽略结束标记中的斜线,并将打开和关闭与单个模式匹配,如下所示:
sed 's/h1>/h2>/' myblog.html