2016-09-20 8 views
-1

GPGから公開鍵のIDを取得する必要があります。 SOのすべては、インポート、エクスポートなどについて議論しています。下の例では、ABCD1234の値をbashスクリプトで使用する必要がありますか?bashでGPG公開鍵を取得するには?

$ gpg --list-keys 
/Users/jblow/.gnupg/pubring.gpg 
--------------------------------- 
pub 2048R/ABCD1234 2016-09-20 
uid  [ultimate] Joe Blow <[email protected]> 
sub 2048R/JDKKHU76 2016-09-20 
+2

awkにパターンを変更subためのキーを抽出したい場合:「スクリプトとして、または他のプログラムで、このコマンドの出力を使用しないでくださいGnuPGの変更に伴い変更される可能性があります。 – Cyrus

答えて

0

それを行うのawk + bash文字列操作方法を。

# 'awk' extracts the '2048R/ABCD1234' part of the command and 
# string-manipulation done to strip-off characters up to the trailing '/' character 

$ keyVal=$(gpg --list-keys | awk '/pub/{if (length($2) > 0) print $2}'); echo "${keyVal##*/}" 
ABCD1234 

あなただけの男gpg` `から

$ keyVal=$(gpg --list-keys | awk '/sub/{if (length($2) > 0) print $2}'); echo "${keyVal##*/}" 
JDKKHU76 
0

あなたはgrepを使用することができます。

gpg --list-keys | grep pub | grep -o -P '(?<=/)[A-Z0-9]{8}' 

出力:

ABCD1234 
関連する問題