yzc577亚洲城娱乐在linux下怎样少量将”一串字符”都交换为中文标点的“异样一串字符”

( yzc577亚洲城娱乐 )

在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,那个东西下令好宏大,可以自己研讨看看。

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

直接修正并交换

(看完/读完)这篇文章有何感想! yzc577亚洲城娱乐的分享…

发表评论

电子邮件地址不会被公开。 必填项已用*标注