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 -l
pour 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]