No Linux, eu tenho um diretório com muitos arquivos. Alguns deles têm caracteres não ASCII, mas todos são UTF-8 válidos . Um programa possui um bug que o impede de trabalhar com nomes de arquivos não ASCII, e eu tenho que descobrir quantos são afetados. Eu faria isso com find
e depois faria um grep para imprimir os caracteres não ASCII e, em seguida, faria um wc -l
para encontrar o número. Não precisa ser grep; Posso usar qualquer expressão regular padrão do Unix , como Perl , sed , AWK , etc.
No entanto, existe uma expressão regular para 'qualquer caractere que não seja um caractere ASCII'?
/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x9F]