首页 > 在linux下怎么大量将"一串字符"都替换为中文标点的“同样一串字符”

在linux下怎么大量将"一串字符"都替换为中文标点的“同样一串字符”

在linux下怎么大量将"一串字符"都替换为中文标点的“同样一串字符”。 gedit下有替换工具,不清楚怎么表示任意一串字符,而且就算知道这样一串字符,还必须同样将同样这串字符传递给等下要替换的同样那串文字中。 具体效果就是这样的: "测试文字" → “测试文字”

这个文本很大,必须用批处理的方式,请问有好的方法吗?

看了一段时间文档,本来希望节省点时间的,看了不过自讨没趣罢了。 命令如下。

sed -e 's/(")([^"]*)(")/“\2”/g' test>test1

其中s表示替换,() 括住一个匹配值,然后后面可以用\1引用。\2类似。然后/g'表示全局。 具体请参看这个网站: http://www.360doc.com/content/12/0209/14/8739082_185277670.shtml


sed -i 's/(")([^"]*)(")/“\2”/g' test


没太看懂题目。如果是把所有英文标点转成对应的中文标点的话,使用 Python 的 str.translate 方法很适合。tr 命令不行,因为它不能正确处理多字节字符。


可以考虑用sed,那个东西命令好复杂,可以自己研究看看。


方法1:

perl -pe 's/"(.+?)"/“\1”/g' originalfile > newfile

原文件不被修改,修改结果在新文件中

方法2:

perl -pi.back -e 's/"(.+?)"/“\1”/g' original_file

原文件不被修改,修改结果在original_file.back中

方法3:

perl -pi -e 's/"(.+?)"/“\1”/g' original_file

直接修改并替代

【热门文章】
【热门文章】