[英]How to search for non-ASCII characters with bash tools?
我有一个大文本文件,其中包含一些使LaTeX崩溃的unicode字符。 如何在Linux bash中使用sed等文件中找到非ASCII字符?
尝试:
nonascii() { LANG=C grep --color=always '[^ -~]\+'; }
哪个可以用作:
printf 'ŨTF8\n' | nonascii
在[]
^
表示“不”。 所以[^ -~]
表示不在空格和〜之间的字符。 因此,排除控制字符,这与非ASCII字符匹配,并且是一个更便携但稍微不太准确的[^\\x00-\\x7f]
版本。 \\+
表示1 or more
并且将获得多个字符以在整个字符周围显示颜色,而不是散布在每个字节中,从而破坏多字节序列
试试这个命令:
grep -P '[^\x00-\x7f]' file
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.