繁体   English   中英

使用SED查找和替换值

[英]Find and Replace value using SED

我有一个包含键值对的文件

properties.env

development_port=8080
development_type=tcp
staging_port=8081
development_type=http

我需要从properties.env中读取值,然后根据一些环境变量值将其替换为另一个文件,例如ENVIRONMENT=staging/development

配置文件

server:
  adminConnectors:
    -
      port: 18001
      type: http

config.yml的最终输出应为ENVIRONMENT=staging

server:
      adminConnectors:
        -
          port: 8081
          type: http

如何使用sed命令实现此目的?

由于属性文件看起来具有正确的语法,因此您可以仅获取它的源代码,然后替换整个端口行:

source properties.env
sed --in-place "s/port.*/port: $staging_port/" config.yml

当然,这假定“端口”行在您的配置中仅出现一次。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM