我正在下载BibTex条目,但通常会有输出PDF中不会显示的随机字符,例如àèìòùáéíóúäëïöüâêîôûÿøÀÈÌÒÙÁÉÍÓÚÄËÏÖÜ但此列表并不全面(我无法输入的随机外国字母)。
我尝试过像
这样的事情grep -nP '[^a-zA-Z0-9\/,=!@#$%^&*()_]' ~/Documents/Library.bib
但必须有一种比这更简单的方法。
如何在键盘上输入的任何字符上grep或使用perl正则表达式(这也是ASCII吗?),例如如果我有一个带有重音的“n”,我可以通过某种方式知道吗?
答案 0 :(得分:3)
您可以使用与ASCII字符集中的任何字符匹配的POSIX字符类[:ascii:]
。要打印所有非ASCII字符的行:
grep -nP '[^[:ascii:]]' ~/Documents/Library.bib
或者,也要突出显示非ASCII字符:
grep --color=auto -nP '[^[:ascii:]]' ~/Documents/Library.bib
有关详情,请参阅Gnu grep手册中的Character Classes and Bracket Expressions和Regular-Expression.info上的POSIX Bracket Expressions。