个人博客,记录知识防止遗忘
sed、grep 只保留中文
sed、grep 只保留中文

sed、grep 只保留中文

实际中经常需要过滤其他,只显示中文数据,先将具体方法贴出来,后续有时间再去细翻官方文档,充实内容。

1    sed

#首先删除非标准字符,即只保留中文、英文、数字
sed -i  's/[^[:alnum:]]//g'  sign.txt
#随后删除英文、数字
sed -i 's/[A-Za-z0-9]//g'  sign.txt
#最后还要删除空白行
sed -i '/^[[:space:]]*$/d' sign.txt

上述操作太麻烦,可以直接用sed的-e选项整合到一起

sed -i  's/[^[:alnum:]]//g'  -e  's/[A-Za-z0-9]//g'  -e  '/^[[:space:]]*$/d'  sign.txt

2    grep

grep -P '[\p{Han}]'  sign.txt

发表回复

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