Aqui está uma solução sed :
% sed -e "s/localhost/$(sed 's:/:\/:g' file2)/" file1
---
host: "1.1.1.1"
port: 3000
reporter_type: "zookeeper"
zk_hosts:
- "1.1.1.1:2181"
Você deve usar sed -i para fazer a alteração no local.
Se você pode usar awk , aqui está uma maneira de fazer:
% awk 'BEGIN{getline l < "file2"}/localhost/{gsub("localhost",l)}1' file1
---
host: "1.1.1.1"
port: 3000
reporter_type: "zookeeper"
zk_hosts:
- "1.1.1.1:2181"