解析密钥库文件并获取“别名”和“到期日期”的值

Eva*_*ina 7 linux shell awk sed keytool

我想解析密钥库文件并仅获取 "Alias name:" 的值和 "until:" 旁边的到期日期。任何带有 awk / sed 的东西都可以工作。

尝试了以下 2 个给出该值的命令。但我想用一个命令来实现

line=`keytool -list -v -keystore nonprod_truststore.jks | grep -e "Alias name" | awk -F'Alias name:' '{print $2}'`


line2=`keytool -list -v -keystore nonprod_truststore.jks | grep -e "until:" | awk -F'until:' '{print $2}'`
Run Code Online (Sandbox Code Playgroud)

输入密钥库文件内容示例:

Alias name: Vaerikeysamplename004
Creation date: Mar 25, 2004
Entry type: trustedCertEntry

Owner: OU=VeriSign Trust Network, OU="(c) 1998 VeriSign, Inc. - For authorized use only", OU=Class 1 Public Primary Certification Authority - G2, O="VeriSign, Inc.", C=US
Issuer: OU=VeriSign Trust Network, OU="(c) 1998 VeriSign, Inc. - For authorized use only", OU=Class 1 Public Primary Certification Authority - G2, O="VeriSign, Inc.", C=US
Serial number: 1234jeyjfffdfd
Valid from: Sun May 17 20:00:00 EDT 1998 until: Tue Aug 01 19:59:59 EDT 2028
Certificate fingerprints:
         MD5:  DB:23:3D:F9:99:FA:4B:33:95:ee:44:73:5E:7D:41:83
         SHA1: 27:3E:ss:24:57:FD:C4:F9:0C:55:E8:2B:56:16:ff:62:F5:32:E5:47
         SHA256: 34:1D:E9:8B:13::6E:C6:5B:9A:51:CE:6E:D0:67:D0:0E:C7:CE:9B:7F
Signature algorithm name: RSASHASAM
Subject Public Key Algorithm: 1024-bit RSA key
Version: 1
Run Code Online (Sandbox Code Playgroud)

预期产出

Vaerikeysamplename004 Tue Aug 01 19:59:59 EDT 2028
Run Code Online (Sandbox Code Playgroud)

Ed *_*ton 5

使用任何 awk:

$ awk 'sub(/^Alias name: /,""){name=$0} sub(/.*until: /,""){print name, $0}' file
Vaerikeysamplename004 Tue Aug 01 19:59:59 EDT 2028
Run Code Online (Sandbox Code Playgroud)