Eu não sei uma boa maneira de verificar isso em bash
, mas o Python tem um banco de dados Unicode integrado que você pode usar como em um 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)
Você pode usar este script como este (supondo que você o chamou 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
O banco de dados lança uma exceção ValueError
para qualquer caractere que ele não conhece, portanto, imprimimos seus pontos de código em decimal (geralmente são caracteres não imprimíveis).
Advertência: o script presume que seu terminal é codificado em UTF-8. Se não for, você deve alterar o argumento do método decode()
. O Python suporta uma seleção muito ampla de codificações, e você definitivamente estará lá.