Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有包含如下文本的 html 文件:
<p>يورونيوز: <br /> “ يقال إن للقمر تأثير كبير على نمو المزروعات، وأزهار الحدائق وخاصة النبيذ . “ </p>
现在我想删除并将两行连接成一行。我怎样才能做到这一点?不得不提的是,“用于双引号,我在连接后替换它。我使用了这段代码,但它不起作用:
sed -i -e '/<br \/>[ \r\t\n]+/d' 1.html
sed逐行读取内容,因此您不能只删除 '\n' 字符。默认情况下不可见sed。您需要先阅读将下一行附加到模式空间,然后才能删除\n字符:
sed
\n
sed -e '/[\s]+$/{N;d}' 1.html
有一件事我不明白:你要删除 line with<br>和下一行吗?如果是这样,上面的代码是正确的。
<br>
rush 正确命名了您的代码不起作用的原因;这个版本做你想要的。
sed -i '/<br \/>\s*$/{N;s/<br \/>\s*//}' 1.html