加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 06:22:56 所属栏目:百科 来源:网络整理
导读:我有几个非常大的 XML文件,我试图找到包含非ASCII字符的行.我尝试过以下方法: grep -e "[x{00FF}-x{FFFF}]" file.xml 但是这会返回文件中的每一行,无论该行是否包含指定范围内的字符. 我的语法有错吗?或者我做错了什么?我也尝试过: egrep "[x{00FF}-
我有几个非常大的 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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读