2015-11-08 71 views
0

我試圖刪除Java腳本標籤使用find從PHP/HTML文件中省略google_ad_client,sed的,但它不工作刪除Java腳本使用sed的

例如,如果腳本標籤包含這樣的事情:

<script type="text/javascript"><!-- 
google_ad_client = "ca-pub-7800000000"; 
/* my_navbar */ 
google_ad_slot = "4996537872"; 
google_ad_width = 728; 
google_ad_height = 90; 
//--> 
</script> 

所以我用下面的命令來刪除它

find . -type f -name '*.php*' -print0 | xargs sed -i '/<script type="text\/javascript">/,/<\/script>/g' 

這項工作,但它刪除我所有的Java腳本在身旁我的html文件

+1

使用DOM解析器爲該。對於那個,sed是一個錯誤的工具。 – hek2mgl

+0

如果您試圖從惡意軟件事件中恢復,則正確的響應是從版本控制或已知好的備份恢復未感染的版本。 – tripleee

回答

0

使用sed的像

sed -r ':loop;$!{N;b loop};{s~<script type="text\/javascript">[^>]+google_ad_client =[^<]+</script>~~g}' 

例如

<script type="text/javascript"><!-- 
google_ad_client = "ca-pub-7800000000"; 
/* my_navbar */ 
google_ad_slot = "4996537872"; 
google_ad_width = 728; 
google_ad_height = 90; 
//--> 
</script> 

<script type="text/javascript"><!-- 
something here 
//--> 
</script> 

結果

<script type="text/javascript"><!-- 
something here 
//--> 
</script> 
+0

傢伙我已經嘗試了所有你剛纔提到的..但是有一個與我合作..無論如何..我已經上傳了一個包含相同的php文件,[從這裏](http://www.q8mazad。 COM /老/ test.php的) – user3716621