首页 > 解决方案 > 在 Bash 中:grep 命令输出未存储在文件中,并将其存储在文件中?

问题描述

关于我的原始问题,这将在我的脚本中使用。

基本上,我运行命令为域配置 CNAME,以验证域的 TLS。运行该命令时provision-cert test.com.json,它将输出以下内容。不存储它们,只在控制台中打印它们。

Determining SubjectAlternateNames for domain test.com
SubjectAlternateNames for domain test.com are:
    test.com
     *.test.com
Requesting Certificate for domain test.com
Certificate for domain test.com has ARN: arn:tmp:tmp:ran-loc- 
1:randomstring:certificate/randomstring

Settings tags on certificate for domain test.com
Retrieving DNS records required for validation for arn:tmp:tmp:ran-loc- 
1:randomstring:certificate/randomstring

Please add these records to DNS to complete validation
     _randomstring.test.com. IN CNAME _randomstring.validations.net.
Certificate needs to complete domain validation

我正在尝试将文本Please add these records to DNS to complete validation及其下方的行_randomstring.test.com. IN CNAME _randomstring.tmp-validations.net.多次 grep 到 .txt 文件中,但我不希望它覆盖之前运行中已经插入到 .txt 文件中的内容。它将运行provision-cert6 次,所以基本上我需要在运行命令后对每个 cname 进行 grep provision-cert

我试过provision-cert test.com | grep "Please add these records to DNS to complete validation" -A 1 > file.txt了,但它只是冻结。

(我的语句已经准备好了,我只需要弄清楚 grep 命令,然后添加它)

这可能吗?

标签: bash

解决方案


发现provision-cert test.com >> file.txt成功将输出发送到一个.txt文件。

然后添加命令grep "Please add these records to DNS to complete validation" -A 1 file.txt

答案在这里找到


推荐阅读