正则表达式 – 如何grep所有非ASCII字符?

前端之家收集整理的这篇文章主要介绍了正则表达式 – 如何grep所有非ASCII字符?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有几个非常大的 XML文件,我试图找到包含非ASCII字符的行.我尝试过以下方法
grep -e "[\x{00FF}-\x{FFFF}]" file.xml

但是这会返回文件中的每一行,无论该行是否包含指定范围内的字符.

我的语法有错吗?或者我做错了什么?我也尝试过:

egrep "[\x{00FF}-\x{FFFF}]" file.xml

(模式周围有单引号和双引号).

您可以使用以下命令:
grep --color='auto' -P -n "[\x80-\xFF]" file.xml

这将为您提供行号,并以红色突出显示非ascii字符.

在某些系统中,根据您的设置,上述操作无效,因此您可以通过反向操作

grep --color='auto' -P -n "[^\x00-\x7F]" file.xml

另请注意,重要的位是-P标志,它等同于–perl-regexp:所以它会将您的模式解释为Perl正则表达式.它也说

this is highly experimental and grep -P may warn of unimplemented features.

原文链接:https://www.f2er.com/regex/356787.html

猜你在找的正则表达式相关文章