【发布时间】:2021-03-29 15:25:31
【问题描述】:
我已经尝试了很多在这里找到的解决方案,但我仍然无法在几行上进行 Perl 搜索。
我有一个index.htm 文件,里面有:
<!DOCTYPE html><html lang="en">
<head>
<meta charset="utf-8">
<meta name="format-detection" content="telephone=no">
<script type="text/javascript" src="/company/rses/14rwer/contents/scripts/jquery.js"></script>
<h2 class="subhead">
<p>principal facts:</p>
....
所以我想删除以<!DOCTYPE> 开头的所有内容,直到元素<h2 class="subhead"。
我已经尝试过使用这样的m 选项(m 不是用于“多行”吗?):
find . -type f -name "index.htm" | xargs perl -i -pe 's/<\!DOCTYPE html>.*?<h2 class="subhead//mg'
然后使用s 选项...
但我仍然无法获得此多行选择。
我可以得到一个这样的单行选择:
find . -type f -name "index.htm" | xargs perl -i -pe 's/<\!DOCTYPE html>//mg'
但这不是我想要的,因为我想搜索和替换所有这些行。
【问题讨论】: