在Linux上,我有一个包含大量文件的目录.其中一些具有非ASCII字符,但它们都是有效的UTF-8.一个程序有一个错误,阻止它使用非ASCII文件名,我必须找出有多少受影响.我打算这样做find,然后做一个grep打印非ASCII字符,然后做一个wc -l找到数字.它不一定是grep; 我可以使用任何标准的Unix 正则表达式,如Perl,sed,AWK等.
find
wc -l
但是,是否存在"任何不是ASCII字符的字符"的正则表达式?
regex unicode grep ascii
标准grep/ pcregrep等可以方便地与二进制文件一起用于ASCII或UTF8数据 - 是否有一种简单的方法可以让它们尝试UTF16(最好是同时,但反过来会这样做)?
grep
pcregrep
我试图获得的数据无论如何都是ASCII(库中的引用等),它只是找不到,因为有时两个字符之间有00,有时则没有.
我没有看到任何方法在语义上完成它,但是这些00应该可以解决问题,除了我不能在命令行上轻松使用它们.
unicode grep utf-16
grep ×2
unicode ×2
ascii ×1
regex ×1
utf-16 ×1