मुझे इससे जांचने का एक अच्छा तरीका नहीं पता है bash
, लेकिन पायथन में एक अंतर्निहित यूनिकोड डेटाबेस है जिसे आप इस तरह से स्क्रिप्ट में उपयोग कर सकते हैं:
#!/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)
आप इस स्क्रिप्ट का उपयोग इस तरह कर सकते हैं (यह मानते हुए कि आप इसे कहते हैं 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
डेटाबेस ValueError
किसी भी वर्ण के बारे में नहीं जानता है, इसके लिए एक अपवाद फेंकता है , इसलिए हम उनके कोडपॉइंट को दशमलव में प्रिंट करते हैं (ये अमिट वर्ण हैं, आमतौर पर)।
कैविएट: स्क्रिप्ट मानती है कि आपका टर्मिनल UTF-8 एनकोडेड है। यदि ऐसा नहीं है, तो आपको decode()
विधि का तर्क बदलना चाहिए । अजगर एन्कोडिंग के एक बहुत विस्तृत चयन का समर्थन करता है, आपका निश्चित रूप से वहां होगा।
echo -n …— | uniname -bcegpu