Linux区


sed批量替换html代码p段落里的半角标点为全角标点

有些二流网络编辑经常忽略中文段落里标点符号的写法,将全角标点符号写成了半角标点符号,影响阅读观感。这就需要用到一个叫sed的利器来解决它,让标点符号全部变成全角的。

命令如下:

sed -e "/<p>.*[^ -z]\{1,\}.*<\/p>/{s/\,/,/g;s/\./。/g;s/\"/“/g;s/\!/!/g;s/\?/?/g;s/\;/;/g} text

这里有2个关于sed的小窍门:

  • /<p>.*[^ -z]\{1,\}.*<\/p>/匹配含有中文字符的<p></p>段落,如果不含中文字符的话不予处理;
  • \{1,\}表示只要匹配一个汉字,就予以处理。

以下是未修改前的段落,所有标点符号都是半角的,非常难看。

用sed批量修改之后,正常了。

相关博文



发表评论

电子邮件地址不会被公开。