¿Cómo puedo identificar caracteres que no son ASCII desde el shell?

¿Cómo puedo identificar caracteres que no son ASCII desde el shell?

¿Existe una forma sencilla de imprimir todos los caracteres que no son ASCII y los números de línea en los que aparecen en un archivo utilizando una utilidad de línea de comando como grep,,, etc.?awkperl

Quiero cambiar la codificación de un archivo de texto de UTF-8 a ASCII, pero antes de hacerlo, deseo reemplazar manualmente todas las instancias de caracteres que no sean ASCII para evitar cambios de caracteres inesperados realizados por la rutina de conversión de archivos.

Respuesta1

$ perl -ne 'print "$. $_" if m/[\x80-\xFF]/'  utf8.txt
2 Pour être ou ne pas être
4 Byť či nebyť
5 是或不

o

$ grep -n -P '[\x80-\xFF]' utf8.txt
2:Pour être ou ne pas être
4:Byť či nebyť
5:是或不

donde está utf8.txt

$ cat utf8.txt
To be or not to be.
Pour être ou ne pas être
Om of niet zijn
Byť či nebyť
是或不

Respuesta2

Quiero cambiar la codificación de un archivo de texto de UTF-8 a ASCII...

... reemplazar todas las instancias de caracteres que no sean ASCII ...

Luego dígale a su herramienta de conversión que lo haga.

$ iconv -c -f UTF-8 -t ASCII <<< 'Look at 私.'
Look at .

$ iconv -c -f UTF-8 -t ASCII//translit <<< 'áēìöų'
aeiou

información relacionada