我无法在这里发布中文文本符号,但基本上我只想删除所有不包含至少一个中文符号的行。
我怎样才能提取它,使它看起来像
答案1
答案2
您想要匹配的是其中之一中的任何内容汉字的 Unicode 块。这意味着您需要使用支持 Unicode 的内容,然后匹配其中包含属于这些块之一的字符的任何行。
不幸的是,grep
似乎并不能很好地开箱即用地支持 Unicode。但是,Python 3 可以,所以如果您有,以下脚本将满足您的需要:
import sys
sys.stdout.write("".join(
line for line in sys.stdin.readlines()
if any( 0x4e00 <= ord(ch) <= 0x9fd5 # CJK Unified Ideographs
or 0x3400 <= ord(ch) <= 0x4dbf # CJK Unified Ideographs Extension A
or 0x20000 <= ord(ch) <= 0x2a6d6 # Extension B
or 0x2a700 <= ord(ch) <= 0x2b73c # Extension C
or 0x2b740 <= ord(ch) <= 0x2b81d # Extension D
or 0x2b820 <= ord(ch) <= 0x2cea1 # Extension E
for ch in line)))