AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1541960
Accepted
Kedar Mhaswade
Kedar Mhaswade
Asked: 2025-02-21 12:49:40 +0800 CST2025-02-21 12:49:40 +0800 CST 2025-02-21 12:49:40 +0800 CST

命令行程序通过 Unicode 名称输出字母?

  • 772

Unicode 标准定义了世界书写系统的代码点和字母名称。Ubuntu (Linux) 上是否有命令行程序可以根据字母的(模糊)名称打印字母?

以下是我对此类程序的期望(名为pucc:打印 Unicode 字符——根据其名称或正则表达式打印 Unicode 字符):


$> pucc sigma 
ͻ = 037B (greek small reversed lunate *sigma* symbol)
ͼ = 037C (greek small dotted lunate *sigma* symbol)
ͽ = 037D (greek small reversed dotted lunate *sigma* symbol)
Σ = 03A3 (greek capital letter *sigma*)
ς = 03C2 (greek small letter final *sigma*)
σ = 03C3 (greek small letter *sigma*)
...
$> pucc root
؆ = 0606 (arabic-indic cube *root*)
؇ = 0607 (arabic-indic fourth *root*)
√ = 221A (square root)
∛ = 221B (cube *root*)
∜ = 221C (fourth *root*)

...

我理解这只是对 Unicode 联盟维护的Unicode 文本文件curl/grep的 ping ,并且输出取决于系统上 Unicode 字体的可用性,但我只是想知道这是否已经可以作为命令使用或者可以使用过滤魔法来实现。

command-line
  • 1 1 个回答
  • 115 Views

1 个回答

  • Voted
  1. Best Answer
    terdon
    2025-02-22T00:01:19+08:002025-02-22T00:01:19+08:00

    我认为您正在寻找uninames,它是 Perl 模块的一部分Unicode::Tussle。您可以使用以下命令在 Ubuntu 上安装它:

    sudo apt install cpanminus
    

    这将安装 CPAN 管理器工具,然后您可以使用以下命令安装 Unicode::Tussle 模块:

    cpanm Unicode::Tussle
    

    现在您应该可以使用uniprops和uninames工具(其中包括,请参阅man uniprops和另请参阅部分),它们可以让您执行以下操作:

    $ uninames sigma | cat
    Duplicate specification "bmp|BMP|b" for option "bmp"
    uninames: using old UCD v6.0.0; current is v15.0.0
     Ʃ  01A9    LATIN CAPITAL LETTER ESH
        * African
        * lowercase is 0283
        x (greek capital letter sigma - 03A3)
     ͻ  037B    GREEK SMALL REVERSED LUNATE SIGMA SYMBOL
     ͼ  037C    GREEK SMALL DOTTED LUNATE SIGMA SYMBOL
     ͽ  037D    GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
     Σ  03A3    GREEK CAPITAL LETTER SIGMA
        x (latin capital letter esh - 01A9)
        x (n-ary summation - 2211)
     ς  03C2    GREEK SMALL LETTER FINAL SIGMA
        = stigma (the Modern Greek name for this letterform)
        * not to be confused with the actual stigma letter
        x (greek small letter stigma - 03DB)
     σ  03C3    GREEK SMALL LETTER SIGMA
        * used symbolically with a numeric value 200
     Ϛ  03DA    GREEK LETTER STIGMA
        * apparently in origin a cursive form of digamma
        * the name "stigma" originally applied to a medieval sigma-tau ligature, whose shape was confusably similar to the cursive digamma
        * used as a symbol with a numeric value of 6
        x (roman numeral six late form - 2185)
     ϛ  03DB    GREEK SMALL LETTER STIGMA
        x (greek small letter final sigma - 03C2)
     ϲ  03F2    GREEK LUNATE SIGMA SYMBOL
        = greek small letter lunate sigma (1.0)
        # 03C2 greek small letter final sigma
     Ϲ  03F9    GREEK CAPITAL LUNATE SIGMA SYMBOL
        # 03A3 greek capital letter sigma
     Ͻ  03FD    GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL
        = antisigma
     Ͼ  03FE    GREEK CAPITAL DOTTED LUNATE SIGMA SYMBOL
        = sigma periestigmenon
     Ͽ  03FF    GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL
        = antisigma periestigmenon
     Ↄ  2183    ROMAN NUMERAL REVERSED ONE HUNDRED
        = apostrophic C
        = Claudian antisigma
        * used in combination with C and I to form large numbers
        * lowercase is 2184
        x (greek capital reversed lunate sigma symbol - 03FD)
     ↄ  2184    LATIN SMALL LETTER REVERSED C
        x (greek small reversed lunate sigma symbol - 037B)
     ∑  2211    N-ARY SUMMATION
        = summation sign
        x (greek capital letter sigma - 03A3)
        x (double-struck n-ary summation - 2140)
     𝚺  1D6BA  MATHEMATICAL BOLD CAPITAL SIGMA
        # <font> 03A3 greek capital letter sigma
     𝛓  1D6D3  MATHEMATICAL BOLD SMALL FINAL SIGMA
        # <font> 03C2 greek small letter final sigma
     𝛔  1D6D4  MATHEMATICAL BOLD SMALL SIGMA
        # <font> 03C3 greek small letter sigma
     𝛴  1D6F4  MATHEMATICAL ITALIC CAPITAL SIGMA
        # <font> 03A3 greek capital letter sigma
     𝜍  1D70D  MATHEMATICAL ITALIC SMALL FINAL SIGMA
        # <font> 03C2 greek small letter final sigma
     𝜎  1D70E  MATHEMATICAL ITALIC SMALL SIGMA
        # <font> 03C3 greek small letter sigma
     𝜮  1D72E  MATHEMATICAL BOLD ITALIC CAPITAL SIGMA
        # <font> 03A3 greek capital letter sigma
     𝝇  1D747  MATHEMATICAL BOLD ITALIC SMALL FINAL SIGMA
        # <font> 03C2 greek small letter final sigma
     𝝈  1D748  MATHEMATICAL BOLD ITALIC SMALL SIGMA
        # <font> 03C3 greek small letter sigma
     𝝨  1D768  MATHEMATICAL SANS-SERIF BOLD CAPITAL SIGMA
        # <font> 03A3 greek capital letter sigma
     𝞁  1D781  MATHEMATICAL SANS-SERIF BOLD SMALL FINAL SIGMA
        # <font> 03C2 greek small letter final sigma
     𝞂  1D782  MATHEMATICAL SANS-SERIF BOLD SMALL SIGMA
        # <font> 03C3 greek small letter sigma
     𝞢  1D7A2  MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL SIGMA
        # <font> 03A3 greek capital letter sigma
     𝞻  1D7BB  MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL FINAL SIGMA
        # <font> 03C2 greek small letter final sigma
     𝞼  1D7BC  MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL SIGMA
        # <font> 03C3 greek small letter sigma
    

    (| cat这里只是为了显示输出,因为如果没有它,uninames会自动传输到寻呼机,使复制/粘贴变得更加困难)

    或者,查看有关特定角色的信息:

    $ uniprops "final sigma"
    charnames: some short character names may clash in [GREEK, LATIN], for example GAMMA
    U+03C2 ‹ς› \N{GREEK SMALL LETTER FINAL SIGMA}
        \w \pL \p{LC} \p{L_} \p{L&} \p{Ll}
        All Alnum X_POSIX_Alnum Alpha X_POSIX_Alpha Alphabetic Any Assigned Greek Is_Greek ID_Continue Is_IDC Cased Cased_Letter LC Changes_When_Casefolded CWCF
           Changes_When_Casemapped CWCM Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Ll L Gr_Base Grapheme_Base Graph X_POSIX_Graph
           GrBase Grek Greek_And_Coptic InGreek IDC ID_Start IDS Letter L_ Lowercase_Letter Lower X_POSIX_Lower Lowercase Print X_POSIX_Print Unicode Word X_POSIX_Word
           XID_Continue XIDC XID_Start XIDS
    

    或者

    $ uniprops ς
    charnames: some short character names may clash in [GREEK, LATIN], for example GAMMA
    U+03C2 ‹ς› \N{GREEK SMALL LETTER FINAL SIGMA}
        \w \pL \p{LC} \p{L_} \p{L&} \p{Ll}
        All Alnum X_POSIX_Alnum Alpha X_POSIX_Alpha Alphabetic Any Assigned Greek Is_Greek ID_Continue Is_IDC Cased Cased_Letter LC Changes_When_Casefolded CWCF
           Changes_When_Casemapped CWCM Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Ll L Gr_Base Grapheme_Base Graph X_POSIX_Graph
           GrBase Grek Greek_And_Coptic InGreek IDC ID_Start IDS Letter L_ Lowercase_Letter Lower X_POSIX_Lower Lowercase Print X_POSIX_Print Unicode Word X_POSIX_Word
           XID_Continue XIDC XID_Start XIDS
    

    或者,您可以尝试@mutru 在评论中的建议:

    $ curl  http://www.unicode.org/Public/UNIDATA/UnicodeData.txt 2>/dev/null | 
      grep -i sigma | awk -F';' '{printf "%s |0x%s| %c\n", $2, $1, strtonum("0x"$1)}' 
    GREEK SMALL REVERSED LUNATE SIGMA SYMBOL |0x037B| ͻ
    GREEK SMALL DOTTED LUNATE SIGMA SYMBOL |0x037C| ͼ
    GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL |0x037D| ͽ
    GREEK CAPITAL LETTER SIGMA |0x03A3| Σ
    GREEK SMALL LETTER FINAL SIGMA |0x03C2| ς
    GREEK SMALL LETTER SIGMA |0x03C3| σ
    GREEK LUNATE SIGMA SYMBOL |0x03F2| ϲ
    GREEK CAPITAL LUNATE SIGMA SYMBOL |0x03F9| Ϲ
    GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL |0x03FD| Ͻ
    GREEK CAPITAL DOTTED LUNATE SIGMA SYMBOL |0x03FE| Ͼ
    GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL |0x03FF| Ͽ
    MATHEMATICAL BOLD CAPITAL SIGMA |0x1D6BA| 𝚺
    MATHEMATICAL BOLD SMALL FINAL SIGMA |0x1D6D3| 𝛓
    MATHEMATICAL BOLD SMALL SIGMA |0x1D6D4| 𝛔
    MATHEMATICAL ITALIC CAPITAL SIGMA |0x1D6F4| 𝛴
    MATHEMATICAL ITALIC SMALL FINAL SIGMA |0x1D70D| 𝜍
    MATHEMATICAL ITALIC SMALL SIGMA |0x1D70E| 𝜎
    MATHEMATICAL BOLD ITALIC CAPITAL SIGMA |0x1D72E| 𝜮
    MATHEMATICAL BOLD ITALIC SMALL FINAL SIGMA |0x1D747| 𝝇
    MATHEMATICAL BOLD ITALIC SMALL SIGMA |0x1D748| 𝝈
    MATHEMATICAL SANS-SERIF BOLD CAPITAL SIGMA |0x1D768| 𝝨
    MATHEMATICAL SANS-SERIF BOLD SMALL FINAL SIGMA |0x1D781| 𝞁
    MATHEMATICAL SANS-SERIF BOLD SMALL SIGMA |0x1D782| 𝞂
    MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL SIGMA |0x1D7A2| 𝞢
    MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL FINAL SIGMA |0x1D7BB| 𝞻
    MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL SIGMA |0x1D7BC| 𝞼
    
    • 3

相关问题

  • 如何从命令行仅安装安全更新?关于如何管理更新的一些提示

  • 如何从命令行刻录双层 dvd iso

  • 如何从命令行判断机器是否需要重新启动?

  • 文件权限如何工作?文件权限用户和组

  • 如何在 Vim 中启用全彩支持?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve