2012-12-21 116 views
1

我的一個客戶的網站已被黑客入侵,並且每個文件中都有iframe注入。但是,iframe注入總是在關閉</html>標記之後。Bash刪除所有內容</html>

是否有一種簡單的方法使用Bash刪除</html>標籤後使用類似sed的東西?

如:

</html> 
p 
<nofollow><iframe src="http://xxxxx.com/local.html" width="0" height="0" frameborder="0"></iframe></nofollow> 
p 
<nofollow><iframe src="http://xxxxx.com/local.html" width="0" height="0" frameborder="0"></iframe></nofollow> 
+0

所有內容從到當前行的結尾或文件的結尾或其他分隔符?發佈一些小樣本輸入和預期輸出。 –

+0

到文件末尾。我會舉一個例子... – James

+0

結帳我[更新的答案](http://stackoverflow.com/a/13994734/1006989)刪除行,直到EOF – 2012-12-21 18:26:07

回答

6

年底就在你打的退出line:

sed -i '/<\/html>/q' file 
+0

這似乎是打印出來的結果,但是有沒有辦法覆蓋現有的文件與輸出?像sed的'/.../.../ g''? – James

+0

只需添加-i標誌。我更新了我的回覆。 –

+0

好多了,謝謝! – James

2

這是你在找什麼:

sed -i '/<\/html>/,$d;$a <\/html>' yourfile 

更新,刪除線,直到該文件

+0

非常感謝! – James

+0

這隻會刪除同一行上的''後的任何內容。聽起來並不像OP想要的那樣,並且不會在他的發佈示例輸入中工作,所以我很驚訝他接受了這個答案! –

+0

其實只是注意到我得到這個:'sed:RE錯誤:非法字節序列' – James