No sé una buena manera de verificar esto bash
, pero Python tiene una base de datos Unicode incorporada que puede usar como en un script como este:
#!/usr/bin/env python
import sys, unicodedata
for ch in sys.stdin.read().decode('utf-8'):
try:
print unicodedata.name(ch)
except ValueError:
print 'codepoint ', ord(ch)
Puede usar este script de esta manera (suponiendo que lo haya llamado unicode-names
):
$ echo 'abc©áοπρσ' | unicode-names
LATIN SMALL LETTER A
LATIN SMALL LETTER B
LATIN SMALL LETTER C
COPYRIGHT SIGN
LATIN SMALL LETTER A WITH ACUTE
GREEK SMALL LETTER OMICRON
GREEK SMALL LETTER PI
GREEK SMALL LETTER RHO
GREEK SMALL LETTER SIGMA
codepoint 10
La base de datos arroja una ValueError
excepción para cualquier carácter que no conozca, por lo que imprimimos sus puntos de código en decimal (generalmente son caracteres no imprimibles).
Advertencia: el script asume que su terminal está codificada en UTF-8. Si no es así, debe cambiar el argumento del decode()
método. Python admite una amplia selección de codificaciones, la suya definitivamente estará allí.
echo -n …— | uniname -bcegpu