2012-08-17 106 views
2

想要使用ant替换macos上的txt文件中的值。 我使用了下面的代码,但它给出错误:“该类型不支持嵌套文本数据(”“)”。exec可执行文件sed

<exec executable="sed"> 
    <arg value="s/old/new/g" /> 
    <arg value="$MY_FILE" /> 
</exec>. 

如何替换变量的值,我用替换为Windows上的文件,它的工作原理。

回答

2

也许这是一个有点晚,但我只是发现了这个问题。希望我的解决方案至少可以帮助其他人。

缺少一个参数。 sed在命令行上需要-e“你的表达”-f“/ path/to /你的脚本文件”。在使用蚂蚁的情况下,您希望直接更改文件(sed语音中的“内部”),而不是不同的输入/输出文件。所以你需要添加-i(或者更简单,将-e更改为-ie)。因此,正确的调用将是:

<exec executable="sed"> 
    <arg value="-ie" /> 
    <arg value="s/old/new/g" /> 
    <arg value="$MY_FILE" /> 
</exec> 
相关问题