我有这个文件:
Alias name: ciscobas
Owner: CN=DI0DGQB2QG9RK8OHMJ5C, O=Duo Security
Issuer: CN=DI0DGQB2QG9RK8OHMJ5C, O=Duo Security
Valid from: Thu Jun 15 15:08:49 AST 2023 until: Tue Jan 19 06:14:07 AST 2038
Alias name: mobca
Owner: CN=Mobily Root CA, OU=Security And Privacy, O=Etihad Etisalat Company - Mobily, L=RIYADH, ST=RIYADH, C=SA
Issuer: CN=Mobily Root CA, OU=Security And Privacy, O=Etihad Etisalat Company - Mobily, L=RIYADH, ST=RIYADH, C=SA
Valid from: Sat Apr 17 08:13:51 AST 2021 until: Thu Apr 17 08:13:51 AST 2036
Alias name: mobsubca
Owner: CN=Mobily IT CA, OU=Security And Privacy, O=Etihad Etisalat Company - Mobily, L=RIYADH, ST=RIYADH, C=SA
Issuer: CN=Mobily Root CA, OU=Security And Privacy, O=Etihad Etisalat Company - Mobily, L=RIYADH, ST=RIYADH, C=SA
Valid from: Fri Apr 23 06:50:32 AST 2021 until: Wed Apr 23 06:50:32 AST 2031
accessMethod: caIssuers
我希望它看起来像这样。
Alias name: ciscobas
until: Tue Jan 19 06:14:07 AST 2038
Alias name: mobca
until: Thu Apr 17 08:13:51 AST 2036
完成此操作后,我需要检查该日期在未来 30 天内何时到期。
答案1
这是您问题的部分解决方案 - 即将输入转换为输出 -
egrep "^Alias name: | (.*)until:(.*)" file.name | sed 's/Valid from:\(.*\)until:\(.*\)/\2/'
从您的帖子中无法判断您是否只想要前两个答案,或者您的帖子是否被截断。我还没有解决更有趣的问题,即检查日期是否在未来 30 天内到期。这是一个完全不同的问题,与您提出的问题不一致。(您需要解析输出,然后匹配日期。我确信可以使用 bash 完成 - 但我不知道它是否是完成这项工作的正确工具。如果您对此坚定不移,我们可以对文件系统做出假设 - 即文件系统可以支持时间戳吗?