如何处理这个字符串?

时间:2012-07-02 07:52:35

标签: html linux sed

我的html文件包含这样的文字:

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

现在我想删除
并将两行连接成一行。我怎样才能做到这一点?我必须提到“用于双引号,我在连接后替换它。 我使用了这段代码,但它不起作用:

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

2 个答案:

答案 0 :(得分:1)

sed逐行读取内容,因此您不能只删除'\ n'字符。默认情况下,sed无法看到它。 您需要先读取下一行附加到模式空间,然后才能删除\n字符:

sed -e'/ [\ s] + $ / {N; d}'1.html

有一点我不明白:你要删除<br>和下一行吗?如果是这样,上面的代码是正确的。

答案 1 :(得分:0)

匆匆命名你的代码无法正常工作的原因;这个版本做你想要的。

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