Saya tidak tahu cara yang baik untuk memeriksanya bash
, tetapi Python memiliki basis data Unicode bawaan yang dapat Anda gunakan seperti pada skrip seperti ini:
#!/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)
Anda dapat menggunakan skrip ini seperti ini (dengan asumsi Anda menyebutnya 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
Basis data mengeluarkan ValueError
pengecualian untuk karakter apa pun yang tidak diketahuinya, jadi kami mencetak titik kode dalam desimal (biasanya ini adalah karakter yang tidak dapat dicetak).
Peringatan: skrip mengasumsikan terminal Anda dikodekan UTF-8. Jika tidak, Anda harus mengubah argumen decode()
metode ini. Python mendukung pilihan pengkodean yang sangat luas, milik Anda pasti ada di sana.
echo -n …— | uniname -bcegpu