如何替换存储在unix / solaris服务器上的html文件中的标记?

时间:2009-10-27 17:17:44

标签: html unix replace

我正在寻找一种方法来获取在unix服务器上发布的1000多个html文件中的标记(通过apache运行),并用空节点或备用html标记替换标记。

前:

查找

<div id="someComponent"> .....{a bunch of interior markup} .... </div>

替换为{empty}

前2:

查找</div></body>

替换</div>{some HTML markup needed here}</body>

3 个答案:

答案 0 :(得分:1)

一种方法:使用带BeautifulSoup的Python来解析HTML文件,进行替换并回写。

答案 1 :(得分:1)

如果它非常简单(不需要解析,标记众所周知,而不是另一个),最快的方法应该是:

(在Zsh或Bash中)

perl -pi -e 's#<div class="toto">.*?</div>#<span>new content</span>#g' /path/to/files/**/*.html(.)

这应该可以解决所有...<div class="toto">.....</div>...之间的问题 ...<span>newcontent</span>...

但请注意,它不适用于...<div class="toto"> ... <div class="toto"> ... </div> ... </div> ....

答案 2 :(得分:0)

如果在所有文件中以相同的方式编写标记,sedperl将比BeautifulSoup等更快,但在各种方式上也更难灵活以文本形式表达相同的HTML标记。

您是否有更具体的例子说明您正在寻找什么样的标记,理想情况下它可能因文件而异?它会在文件中的哪个位置?另外,如果有必要,可以在过程中对HTML进行美化或整理吗?

哦,你在服务器上运行某些东西,还是需要代码来抓取服务器以检索HTML文件进行处理?