需要一个脚本或软件来一次修改大量的html文件

时间:2011-12-17 01:51:37

标签: linux bash shell scripting replace

我在树形结构中有大约3400个文件(大约80%是html文件)。

  1. 我需要修改每个html文件以删除

    样式和旧的东西,如font属性,并添加另一种样式。

  2. 我需要更改html中所有链接的根目录。例如在href属性更改/ old / path /到/ new / path。
  3. 我需要删除一些链接。例如需要删除指向google.com的链接,因此<a href="http://www.google.com">as google said</a>应仅“像谷歌所说”。
  4. 有没有可以为我做这个的软件? 是否可以制作剧本?

    我不知道为此工作的脚本,我认为这可能是快速的方式......任何人都想帮助我吗?

    谢谢!

2 个答案:

答案 0 :(得分:1)

我设置了一个脚本,打开一个单一的HTML文件,用一个可靠的HTML解析器解析它(BeautifulSoup作为一个很好的例子),然后以两种方式之一遍历它:在SAX模型中,编写代表重写规则或DOM模型目标的函数,将规则编写为XPath查询并对匹配的DOM节点执行操作。

然后只需在所有HTML文件上运行脚本。

答案 1 :(得分:0)

  1. 进行备份!
  2. 选择脚本语言
  3. 了解如何提供递归文件列表
  4. 了解如何阅读文件内容并保存文件
  5. 打开所有文件并将函数应用于每个文件的内容
  6. 该函数应该是您刚才描述的多个步骤的列表,并且应该将新数据作为其返回值
  7. 将数据保存回文件
  8. 在大多数语言中,通常搜索和替换都很容易。如果你需要它来进行条件解析,你可能需要一个xml / html解析器,或者可能需要学习正则表达式。最好先确保它适用于1个文件;)。