2009-08-03 54 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/

發現並立即替換多個文件中的多個文本字符串!

相關問題