使用GNU工具替换属性文件中的属性

时间:2012-05-23 17:26:43

标签: bash makefile gawk

有一种简单的方法可以在Makefile中实现ant expandproperties功能吗?以下是一个例子:

鉴于这三个文件:

文件main.properties

principal.name=John

档案1.properties

name=${principal.name}

文件2.xml

<properties name="${principal.name}"/>

我正在寻求用John替换文件1.properties和2.xml中所有的principal.name,我应该使用GNU工具,我打算将它合并到Makefile中

1 个答案:

答案 0 :(得分:1)

是的,这是可行的。我在这里通过使用awk来构造一个执行替换的sed脚本:

cat main.properties | awk -F= '{print "s/\\${" $1 "}/" $2 "/g"}' | sed -f - 1.properties