2012-09-16 46 views
1

我有一些文字是這樣的:如何刪除特定符號後立即出現的所有CJK文本?

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文本?

回答

1

可以使用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. 
2

Perl單線程怎麼樣?

perl -pe 's/Z\p{InCJK_Unified_Ideographs}+//g;' input 
相關問題