【问题标题】:Extract gpg fingerprint提取gpg指纹
【发布时间】:2025-12-06 11:40:02
【问题描述】:

我正在尝试从密钥环中的密钥中提取指纹,但我不知道如何解析输出。

跑步

gpg --fingerprint 'Identifier'

输出

pub   rsa3072 2021-12-14 [SC]
      ABCD EFGH 1234 5678 ABCD  ABCD EFGH 1234 5678 ABCD
uid           [ unknown] First Last (Identifier) <First.Last@email.com>
sub   rsa3072 2021-12-14 [E]

我要提取短指纹或长指纹ABCD EFGH 1234 5678 ABCD ABCD EFGH 1234 5678 ABCD

在调用中添加--with-colons 最终会打印多个指纹

...
fpr:::::::::ABCDEFGH12345678ABCDABCDEFGH12345678ABCD:
...
fpr:::::::::1234123412341234123412341234123412341234:

为我的钥匙圈中的公钥和私钥提取指纹的最佳方法是什么?

gpg --version
gpg (GnuPG) 2.2.27

【问题讨论】:

    标签: bash shell gnupg


    【解决方案1】:

    使用sed

    $ gpg --fingerprint | sed -n '/^\s/s/\s*//p'
    ABCD EFGH 1234 5678 ABCD  ABCD EFGH 1234 5678 ABCD
    

    -n - 使输出静音

    /^\s/ - 匹配以空格开头的行

    s/\s*//p - 删除前导空格。打印。

    【讨论】: