我有一些这样的文本:
This is some text Z书. This is Zsome more text Z计算机.
This is yet some more Z电脑 text Z.我需要删除与模式Z+(CJK)匹配的所有案例,其中(CJK)是任意数量的连续CJK字符。上面的文件将变成:
This is some text . This is Zsome more text .
This is yet some more text Z.如何删除所有与此模式匹配的CJK文本?
发布于 2012-09-16 18:51:46
您可以使用GNU sed检查非ASCII码:
sed -n l0 file.txt结果:
This is some text Z\344\271\246. This is Zsome more text Z\350\256\241\347\256\227\346\234\272.$
This is yet some more Z\347\224\265\350\204\221 text Z.$然后,您可以使用GNU sed进行您想要的替换。在我的测试中,我必须将我的语言环境设置为POSIX:
LC_ALL="POSIX" sed -r 's/Z[\o200-\o377]+//g' file.txt结果:
This is some text . This is Zsome more text .
This is yet some more text Z.发布于 2012-09-16 16:23:09
Perl一行程序怎么样?
perl -CSD -pe 's/Z\p{InCJK_Unified_Ideographs}+//g;' inputfilehttps://stackoverflow.com/questions/12445341
复制相似问题