如何将中文字符与grep匹配?

it_*_*ure 4 vim grep cjk

经验证[\u4e00-\u9fff]可以匹配vim中的汉字.

:%g/[\u4e00-\u9fff]/d
Run Code Online (Sandbox Code Playgroud)

上面的命令可以删除包含中文字符的所有行.

ls  /tmp/test
ktop 1_001.png.bak
fonts.dir.bak
New
Screenshot from 2016-09-12 16:50:29.png.bak
??
Run Code Online (Sandbox Code Playgroud)

现在我想提取名字是中文字符的文件.

ls  /tmp/test |grep -P  '[\x4e\x00-\x9f\xff]'  
Run Code Online (Sandbox Code Playgroud)

该命令无法获取名称为中文字符的文件.
怎么解决?

ls/tmp/test | grep -v'[az]'可以得到它,但它是我想要的.

sid*_*ker 10

要匹配具有汉(中文)字符的行(文件名),您可以使用[\p{Han}]:

ls  /tmp/test | grep -P '[\p{Han}]'
Run Code Online (Sandbox Code Playgroud)

\p{Han}任何支持PCRE的引擎中可用的Unicode脚本类属性之一:

\p{Common} \p{Arabic} \p{Armenian} \p{Bengali} \p{Bopomofo}
\p{Braille} \p{Buhid} \p{Canadian_Aboriginal} \p{Cherokee}
\p{Cyrillic} \p{Devanagari} \p{Ethiopic} \p{Georgian} \p{Greek}
\p{Gujarati} \p{Gurmukhi} \p{Han} \p{Hangul} \p{Hanunoo} \p{Hebrew}
\p{Hiragana} \p{Inherited} \p{Kannada} \p{Katakana} \p{Khmer} \p{Lao}
\p{Latin} \p{Limbu} \p{Malayalam} \p{Mongolian} \p{Myanmar} \p{Ogham}
\p{Oriya} \p{Runic} \p{Sinhala} \p{Syriac} \p{Tagalog} \p{Tagbanwa}
\p{TaiLe} \p{Tamil} \p{Telugu} \p{Thaana} \p{Thai} \p{Tibetan}
Run Code Online (Sandbox Code Playgroud)