我有一个仅包含证书的文件,我想将其移动到第二个文件并覆盖文件中的一行。
证书格式为:
-----BEGIN CERTIFICATE-----
abc
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
xyz
-----END CERTIFICATE-----
第二个文件是一个 yaml 文件,我想用证书覆盖 Value4
Value1
Value2
Value3
Value4
输出将是
Value1
Value2
Value3
-----BEGIN CERTIFICATE-----
abc
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
xyz
-----END CERTIFICATE-----
关于如何做到这一点有什么想法吗?理想情况下,我不想使用行号,因为第二个文件将来可能会在证书下方添加新字段。
答案1
perl -ne '
print /value4/ ? <STDIN> : $_;
' yaml < cert
value4 行打印整个标准输入,否则使用常规输入。