文本替换 - 在linux下怎么大量将"一串字符"都替换为中文标点的“同样一串字符”
PHPz
PHPz 2017-04-17 11:30:11
0
4
330

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

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

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

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

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

PHPz
PHPz

学习是最好的投资!

reply all(4)
阿神

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

大家讲道理

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

伊谢尔伦

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

伊谢尔伦

方法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

直接修改并替代

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!