我有一些XML文件,其中包含无效字符,因为有很多我想使用grep来搜索它们,但是没有得到正确的结果。
在VIM中打开文件会显示与此类似的内容:
<email><202a>someone@address.com</email>
我想搜索<202a>
我尝试了以下内容:
grep -P "<202a>" file
grep -P "\<202a\>" file
grep -P "\x202a" file
grep -P "\x202A" file
注意&lt; 202a&gt;不是字符串...当打印到控制台时(即,如果我只是grep的电子邮件)它显示为
答案 0 :(得分:1)
这应该这样做
tr -cd '[:cntrl:][:print:]' < file
根据您可能需要的区域设置
LANG= tr -cd '[:cntrl:][:print:]' < file
或者这个
tr -cd $'\x01-\x7e' < file