Мой ответ для вашего случая это команда:
ls /etc/pki/tls/certs/cert*.pem | xargs -L1 openssl x509 -noout -enddate -in
Объяснение
На первом этапе, я делаю список моих сертификатов, которые я хочу разобрать. Например, в моем случае это может быть так:
[[email protected] certs]# ls -1 */*.crt
ewsport.org/ewsport.org.crt
hxpro.cz/hxpro.crt
jaguars.cz/jaguars.crt
koudelka.photography/koudelka.photography.crt
unicycle-hockey.cz/unicycle-hockey.cz.crt
unipragga.cz/unipragga.cz.crt
Следующий шаг, я хочу получить срок годности от каждого из них.
[[email protected] certs]# openssl x509 -noout -enddate -in hxpro.cz/hxpro.crt
notAfter=Apr 24 11:29:21 2017 GMT
Теперь я могу отправить вывод с первой команды на второй, используя xargs.
[[email protected] certs]# ls -1 */*.crt | xargs -L1 openssl x509 -noout -enddate -in
notAfter=Mar 31 15:08:20 2017 GMT
notAfter=Apr 24 11:29:21 2017 GMT
notAfter=Mar 23 21:23:42 2017 GMT
notAfter=Apr 24 11:50:32 2017 GMT
notAfter=Dec 11 16:32:41 2016 GMT
notAfter=Mar 20 19:44:17 2017 GMT
Я использовал опцию -L1, потому что команде openssl требуется только один -in-файл в качестве входных данных.
Мне удалось сделать это, используя массив имен файлов, пересекающих его с циклом for. Если есть более эффективная работа, пожалуйста, поделитесь. Спасибо – Zeeshan