Sous Linux, j'ai un répertoire avec beaucoup de fichiers. Certains d'entre eux ont des caractères non ASCII, mais ils sont tous UTF-8 valides . Un programme a un bogue qui l'empêche de fonctionner avec des noms de fichiers non ASCII, et je dois savoir combien sont affectés. J'allais faire cela avec find, puis faire un grep pour imprimer les caractères non ASCII, puis faire un wc -lpour trouver le nombre. Il n'est pas nécessaire que ce soit grep; Je peux utiliser n'importe quelle expression régulière Unix standard , comme Perl , sed , AWK , etc.
Cependant, existe-t-il une expression régulière pour «tout caractère qui n'est pas un caractère ASCII»?
/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x9F]