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

发布于 2022-08-27 11:57:22 字数 536 浏览 18 评论 0

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

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

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

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

小嗲 2022-09-03 11:57:22

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

哆啦不做梦 2022-09-03 11:57:22

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

唠甜嗑 2022-09-03 11:57:22

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

赢得她心 2022-09-03 11:57:22

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

直接修改并替代

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文