我的html文件包含这样的文字:
<p>يورونيوز: <br />
“ يقال إن للقمر تأثير كبير على نمو المزروعات، وأزهار الحدائق وخاصة النبيذ . “ </p>
现在我想删除
并将两行连接成一行。我怎样才能做到这一点?我必须提到“用于双引号,我在连接后替换它。
我使用了这段代码,但它不起作用:
sed -i -e '/<br \/>[ \r\t\n]+/d' 1.html
答案 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