Bunu kontrol etmek için iyi bir yol bilmiyorum bash
, ama Python böyle bir komut dosyasında gibi kullanabilirsiniz yerleşik bir Unicode veritabanı vardır:
#!/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)
Bu komut dosyasını şu şekilde kullanabilirsiniz (aradığınız varsayılarak 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
Veritabanı ValueError
, bilmediği karakterler için bir istisna atar , bu nedenle kod noktalarını ondalık olarak yazdırırız (bunlar genellikle yazdırılamaz karakterlerdir).
Dikkat: komut dosyası, terminalinizin UTF-8 kodlu olduğunu varsayar. Değilse, decode()
yöntemin argümanını değiştirmeniz gerekir . Python çok çeşitli kodlamaları destekler, sizinki kesinlikle orada olacaktır.
echo -n …— | uniname -bcegpu