2009-08-03 63 views
1

这种情况:什么是自动更换文字的最佳方式?

我有很多HTML文件,并且这些HTML文件链接到了很多文档。文件已全部重新命名。我有一个Excel表格,它具有文件的旧名称和文件的新名称。

什么是最快的方式来改变HTML文件内的链接以适应新名称?

我现在使用的方法: 在Notepad ++中打开所有HTML文件使用Notepad ++的'Replace in All Opened Documents'替换所有出现的具有新文件名的链接。

有更快,更好的方法吗?

+0

perl?你意识到这是一个编程站点,所以自然的答案是“编写程序”。也许你正在寻找超级用户? – derobert 2009-08-03 07:26:29

+0

我认为所有“好”的开发者都是超级用户,他们不会从头开始写所有东西。 – 2009-08-03 07:41:13

回答

1

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. 

不难,但需要一些测试。如果您进行了大量编辑(稍后可能会发生更多),则效率更高。

+0

谨慎阐述? :) – Nikko 2009-08-03 07:21:55

0

有迹象表明,在几个文件中替换文本一些免费和开源工具,开源的一种是FART

如果你喜欢的东西有一个GUI,尝试免费Text Crawler

0

第一将excel保存为一些不错的简单,就像一个csv文件一样,因此它很容易阅读你喜欢的语言,例如perl。迭代每个文件并进行搜索和替换。但一个问题就是要一次完成所有工作,否则如果存在复杂方式的链接改变,可能会产生问题。也就是说,如果文件a.html更改为b.html,并且b.html更改为a.html,则可以在多次传递时将链接搞乱。因此,将所有更改加载到内存中,然后遍历每个文件并同时替换其中的所有链接。

因为它是专门HTML搜索和替换的工具一样,这将是理想的:

http://www.aliassoftware.com/

发现并立即替换多个文件中的多个文本字符串!

相关问题