(grep)正则表达式匹配非ASCII字符?

在Linux上,我有一个包含大量文件的目录。其中一些有非ASCII字符,但它们都是有效的 UTF-8.一个程序有一个错误,阻止它使用非ASCII文件名,我必须找出有多少受到影响。我将这样做与find,然后做一个 grep打印非ASCII字符,然后做一个wc -l来找到该数字。它不必是grep;我可以使用任何标准的Unix regular expression,如 PerlsedAWK等。

但是,是否有一个正则表达式“任何字符不是ASCII字符”?

这将匹配单个非ASCII字符:
[^\x00-\x7F]

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

你也可以使用POSIX shorthands:

> [[:ascii:]] – 匹配单个ASCII字符
> [^ [:ascii:]] – 匹配单个非ASCII字符

[^ [:print:]]可能就足够了。**

相关文章

正则替换html代码中img标签的src值在开发富文本信息在移动端...
正则表达式
AWK是一种处理文本文件的语言,是一个强大的文件分析工具。它...
正则表达式是特殊的字符序列,利用事先定义好的特定字符以及...
Python界一名小学生,热心分享编程学习。
收集整理每周优质开发者内容,包括、、等方面。每周五定期发...