SED/AWK를 사용하여 한 파일의 내용을 다른 파일의 위치로 이동하려면 어떻게 해야 합니까?

SED/AWK를 사용하여 한 파일의 내용을 다른 파일의 위치로 이동하려면 어떻게 해야 합니까?

인증서만 포함된 파일이 있는데 이를 두 번째 파일로 이동하고 파일의 한 줄을 덮어쓰고 싶습니다.

인증서 형식은 다음과 같습니다.

-----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

Line value4는 전체 표준 입력을 인쇄하고, 그렇지 않으면 일반 입력이 사용됩니다.

관련 정보