【发布时间】:2017-09-17 03:22:15
【问题描述】:
我正在尝试在构建过程中编写 bash 脚本,其中我们只有几个工具(如 grep、sed、awk),并且我正在尝试用正则表达式匹配中的值替换 ini 文件中的值在另一个。
所以,我在 export_vars.h 文件中匹配“^export ADDRESS=VALUE”之类的内容,并将 VALUE 放入名为 config.ini 的 ini 文件中,并与“ADDRESS=[REPLACE]”对齐。所以,我试图用 bash 中的一个命令将 [REPLACE] 替换为 VALUE。
我发现 sed 可以使用像
这样的命令将整个文件插入到另一个文件中sed -i -e "/[REPLACE]/r export_vars.h" config.ini
我需要以某种方式改进此命令,使其仅从 export_vars.h 读取模式匹配。有人知道怎么做吗?
【问题讨论】:
-
澄清一下,您希望
export_vars.h中的行(例如export ADDRESS=VALUE)替换config.ini中的行(例如ADDRESS=VALUE)?我假设您在此处尝试匹配的是 ADDRESS 并且您希望在此示例中替换 VALUE? -
是 - 或者只是将 ini 文件中的 [REPLACE] 替换为 VALUE。我想两者都行。