繁体   English   中英

如何使用bash工具搜索非ASCII字符?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM