2012-07-02 77 views
0

我有一個包含這樣的文本的html文件:如何處理這個字符串?

<p>يورونيوز: <br /> 
&#8220; يقال إن للقمر تأثير كبير على نمو المزروعات، وأزهار الحدائق وخاصة النبيذ . &#8220; </p> 

現在我想刪除
並串連兩行之一。我怎樣才能做到這一點?我不得不提及「用於雙引號,我將它在連接後替換。 我用這個代碼,但它不工作:

sed -i -e '/<br \/>[ \r\t\n]+/d' 1.html 

回答

1

sed逐行讀取內容系,因此,你不能只是刪除「\ n」字符。 sed默認情況下不可見。 請先閱讀下一行追加到模式空間後,纔可以刪除\n字符:

SED -e '/ \ s] + $/{N; d}' 1.HTML

有一件事我不明白:你打算刪除<br>和下一行嗎?如果是這樣,上面的代碼是正確的。

0

rush正確命名您的代碼無法正常工作的原因;這個版本做你想要的。

sed -i '/<br \/>\s*$/{N;s/<br \/>\s*//}' 1.html