微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

(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:]]可能就足够了。**

原文地址:https://www.jb51.cc/regex/358311.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐