获取密钥 ID 列表

获取密钥 ID 列表

如何轻松获取当前 GnuPG 用户可用的密钥 ID 列表?

我想要一个假设的命令gpg --foo,可以用来:

keyids=$( ( gpg --foo ) )
for keyid in "${keyids[@]}" ; do …

什么gpg --foo命令可以让我获取我的密钥的密钥 ID?

答案1

它需要几秒钟才能完成,但是这是有效的:

gpg --list-secret-keys --with-colons \
    2> /dev/null \
    | grep '^sec:' | cut --delimiter ':' --fields 5

感谢@dirkt 和@grawity 提供此答案。

答案2

对于版本 2.1.15,以下内容对我有用:

gpg --list-secret-keys --keyid-format short | grep sec | cut -d' ' -f 4

我不确定不同版本的输出格式是否相同,因此如果您的版本使用不同格式的输出,则可能必须调整以下命令。

答案3

我的选择是使用 awk:

gpg --list-secret-keys --with-colons | awk -F: '$1 == "sec" {print $5}' 

相关内容