有些二流网络编辑经常忽略中文段落里标点符号的写法,将全角标点符号写成了半角标点符号,影响阅读观感。这就需要用到一个叫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批量修改之后,正常了。