2017-06-07 57 views
0

我有成千上萬的html文件,其中有兩個不同的舊谷歌adsense代碼片段需要被新的代替。這些文件在Linux服務器上。使用sed替換多個文件中的多行

舊代碼如下所示:

<script type="text/javascript"><!-- 
google_ad_client = "pub-xxx"; 
google_ad_width = 336; 
google_ad_height = 280; 
google_ad_format = "336x280_as"; 
google_ad_type = "text"; 
//2007-06-09: Forum archive rectangle 
google_ad_channel = "1013717472xx"; 
google_color_border = "FFFFFF"; 
google_color_bg = "FFFFFF"; 
google_color_link = "0000FF"; 
google_color_text = "000000"; 
google_color_url = "000000"; 
//--> 
</script> 
<script type="text/javascript" 
    src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> 
</script> 

我需要這個文本「了google_ad_channel =‘1013717472xx’,」內碼匹配,更換新的整個代碼。

新的代碼如下:

<script src="https://pagead2.googlesyndication.com/pub-config/r20160913/ca-pub-xxx.js"></script><script src="http://pagead2.googlesyndication.com/pub-config/r20160913/ca-pub-xxx.js"></script><script type="text/javascript"><!-- 
google_ad_client = "pub-xxx"; 
/* frm arch linkunit 200x90, created 5/30/08 */ 
google_ad_slot = "0112084554"; 
google_ad_width = 200; 
google_ad_height = 90; 
//--> 
</script> 
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> 
</script> 

如何使用SED做在我的服務器上的所有HTML文件替換?

預先感謝您!

+0

發佈您的「新代碼」。你的操作系統是什麼? – RomanPerekhrest

+0

謝謝。新的代碼添加和我的操作系統是Ubuntu的 – bigbyte

+0

你的「新代碼」根本沒有任何'google_ad_channel =「...」'。這很混亂 – RomanPerekhrest

回答

0
ls |xargs sed -i 's/google_ad_channel = "1013717472xx"/google_ad_channel = "new_code"/g' 
+0

謝謝,Mikiya!但我需要替換跨越多行的整個google adsense代碼,而不僅僅是搜索文本。 – bigbyte

+0

@bigbyte,在':label'和'N'中使用'sed'可以處理多行 – Mikiya

+0

您可以在這裏整理完整的代碼嗎?我可以用Perl編程而不是shell。非常感謝你! – bigbyte