SED / AWKを使用してあるファイルの内容を別のファイルの場所に移動するにはどうすればよいですか?

SED / AWKを使用してあるファイルの内容を別のファイルの場所に移動するにはどうすればよいですか?

証明書のみを含むファイルがあり、それを2番目のファイルに移動してファイルの1行を上書きしたいと思います。

証明書の形式は次のとおりです。

-----BEGIN CERTIFICATE-----
abc
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
xyz
-----END CERTIFICATE-----

2番目のファイルはyamlファイルで、Value4を証明書で上書きしたいと思います。

Value1
Value2
Value3
Value4

出力は次のとおりです

Value1
Value2
Value3
-----BEGIN CERTIFICATE-----
abc
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
xyz
-----END CERTIFICATE-----

これを行う方法についてのアイデアはありますか?理想的には、2番目のファイルは後で証明書の下に新しいフィールドを追加できるため、行番号を使用したくありません。

ベストアンサー1

perl -ne '
  print /value4/ ? <STDIN> : $_;
' yaml < cert

Line value4は標準入力全体を印刷し、そうでなければ通常入力が使用されます。

おすすめ記事