情况如下:
我有很多 HTML 文件,这些 HTML 文件链接到很多文档。文件已全部重命名。我有一个 Excel 表,其中包含文件的旧名称和文件的新名称。
更改 HTML 文件中的链接以适应新名称的最快方法是什么?
我现在使用的方法:在 Notepad++ 中打开所有 HTML 文件 使用 Notepad++ 的“在所有打开的文档中替换”功能将所有出现的某个链接替换为新文件名。
有没有更快更好的方法?
情况如下:
我有很多 HTML 文件,这些 HTML 文件链接到很多文档。文件已全部重命名。我有一个 Excel 表,其中包含文件的旧名称和文件的新名称。
更改 HTML 文件中的链接以适应新名称的最快方法是什么?
我现在使用的方法:在 Notepad++ 中打开所有 HTML 文件 使用 Notepad++ 的“在所有打开的文档中替换”功能将所有出现的某个链接替换为新文件名。
有没有更快更好的方法?
Perl 的正则表达式。
阐述:伪代码
open up each file for read-only and read them into a list.
close the files
foreach element in the list
#do the desired text replacement
`s/$oldtext/$newtext/g`;
open each file once more now for writing
write out the new text.
这并不难,但需要一些测试。如果您有很多编辑(以后可能会发生更多),这会更有效率。
有几种免费的开源工具可以替换多个文件中的文本,其中一种开源工具是FART
如果您更喜欢带有 GUI 的东西,请尝试免费的Text Crawler
首先将 excel 保存到 csv 文件之类的漂亮而简单的文件中,以便用您喜欢的语言(例如 perl)轻松阅读。遍历每个文件并进行搜索和替换。一个问题是一次性完成所有操作,否则如果链接以复杂的方式发生变化,您可能会产生问题。即,如果文件 a.html 更改为 b.html 并且 b.html 更改为 a.html,如果您在多次传递中执行此操作,您可能会弄乱链接。因此,将所有更改加载到内存中,然后循环浏览每个文件并同时替换其中的所有链接。
因为它专门用于 html 搜索和替换,所以这样的工具会很理想:
一次查找和替换多个文件中的多个文本字符串!