0

我在 Linux 服务器上有 1000 多个 html 文件,全部超过 1000 行。
大多数文件都有特定的 html 代码部分需要删除。

我需要删除的部分看起来是这样的:

<div class="LoginOuterCssClass" id="ctl07">
    ...
</div>

是否有一些脚本或命令行解决方案?

像下面这样的命令没有帮助:

X,Ys/search/replace/g
1,2s/\([a-z]*\), \([a-z]*\)/\2 \1/ig
s/<[^]*>//g

非常感谢您的帮助!

4

1 回答 1

2

在一个文件上尝试以下sed命令,看看它是否符合您的要求:

sed -n '/<div class="LoginOuterCssClass" id="ctl07">/{:a;N;/<\/div>/!ba;N;s/.*\n//};p' file.html

要在多个文件上运行它并就地编辑它们,您可以运行find并将文件传递给sedvia xargs,如下所示:

find /some/path -name "*.html" -print0 | xargs -0 sed -i -n '/<div class="LoginOuterCssClass" id="ctl07">/{:a;N;/<\/div>/!ba;N;s/.*\n//};p'
于 2012-12-14T15:44:28.213 回答