리눅스 sed 여러 줄로 치환

1 개요[ | ]

리눅스 sed 여러 줄로 치환
Console
Copy
root@localhost:~# cat mykey.pem
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQDTDhZpOuKlU5rBMhs7bF9TObe1wSCNsTJ/x3QmaU0ZPzjMXyNg
Bcwfu7Yp9e13Ia/abB5fEB8UR0GYrqgs2LLjdmb/RE4=
-----END RSA PRIVATE KEY-----
Console
Copy
root@localhost:~# cat template.txt
HELLO
{{KEY}}
WORLD
Console
Copy
root@localhost:~# ESCAPED=$(cat mykey.pem | sed ':a;N;$!ba;s|\n|\\n|g' | sed 's|/|\\/|g' )
root@localhost:~# sed "s/{{KEY}}/$ESCAPED/" template.txt
HELLO
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQDTDhZpOuKlU5rBMhs7bF9TObe1wSCNsTJ/x3QmaU0ZPzjMXyNg
Bcwfu7Yp9e13Ia/abB5fEB8UR0GYrqgs2LLjdmb/RE4=
-----END RSA PRIVATE KEY-----
WORLD

2 같이 보기[ | ]

3 참고[ | ]