Não conheço uma boa maneira de verificar isso bash
, mas o Python possui um banco de dados Unicode interno 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 (assumindo 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 gera uma ValueError
exceção para qualquer caractere que não conheça, portanto, imprimimos seus pontos de código em decimal (geralmente são caracteres imprimíveis).
Advertência: o script assume que seu terminal está codificado em UTF-8. Caso contrário, você deve alterar o argumento do decode()
método. O Python suporta uma seleção muito ampla de codificações, a sua definitivamente estará lá.
echo -n …— | uniname -bcegpu