经验证[\u4e00-\u9fff]
可以在vim中匹配中文字符。
:%g/[\u4e00-\u9fff]/d
上面的命令可以删除所有包含汉字的行。
ls /tmp/test
ktop 1_001.png.bak
fonts.dir.bak
New
Screenshot from 2016-09-12 16:50:29.png.bak
你好
现在我想提取名称为汉字的文件。
ls /tmp/test |grep -P '[\x4e\x00-\x9f\xff]'
该命令无法获取名称为中文字符的文件。
如何修复它?
ls /tmp/测试 | grep -v '[az]'可以得到它,但这就是我想要的。
答:
要仅匹配包含汉字的行(文件名),您可以使用[\p{Han}]
:
ls /tmp/test | grep -P '[\p{Han}]'
\p{Han}
是一种可在任何支持 PCRE 的引擎中使用的 Unicode 脚本类别属性:
相关博文
如何用grep匹配汉字?