我尝试使用以下命令查找SSL证书的到期日期:
openssl s_client -connect ${CERT}:443 </dev/null 2>&1 | openssl x509 -text | grep "Not After"
以下列格式将结果输出到终端:
Not After : Apr 14 10:06:09 2018 GMT
如何删除&#34; Not After:&#34;结果的一部分,只是显示:
Apr 14 10:06:09 2018 GMT
任何帮助表示赞赏!
答案 0 :(得分:2)
只需使用lookbehind摆脱它:
$ grep -Po '(?<=Not After : ).*' <<< "Not After : Apr 14 10:06:09 2018 GMT"
Apr 14 10:06:09 2018 GMT
使用(?<=Not After : ).*
,我们告诉grep
打印固定字符串后的所有内容&#34; Not After:&#34;。
请注意,这需要带有-P
选项的grep来加载Perl正则表达式。
答案 1 :(得分:1)
一种简单的方法: -
openssl s_client -connect ${CERT}:443 </dev/null 2>&1 | openssl x509 -text | grep "Not After" | sed 's/Not After : //g'
我在这里添加了| sed 's/Not After : //g'
。现在这里sed
命令将搜索字符串Not After :
并将其替换为重定向到它的原始字符串。最终输出将是: -
Apr 14 10:06:09 2018 GMT
希望这会对你有所帮助。