在Linux上,我有一个带有很多文件的目录。其中一些具有非ASCII字符,但它们都是有效的UTF-8。一个程序的错误可以防止其与非ASCII文件名一起使用,我必须找出受影响的数量。我打算和find然后做一个格雷普打印非ASCII字符,然后做一个wc -l找到数字。它不必是grep;我可以使用任何标准的Unix正则表达式, 喜欢珀尔,,,,sed,,,,尴尬, ETC。

但是,是否有"任何不是ASCIIangular色的angular色"的正则表达式?

答案

这将与单个非ASCII角色相匹配:

[^\x00-\x7F]

这是有效的PCRE((与兼容的正则表达式)。

您也可以使用posix速记:

  • [[:ascii:]] - 匹配一个ASCII char
  • [^[:ascii:]] - 匹配一个非ASCII char

[^[:print:]]可能会为您准备。**

来自: stackoverflow.com