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>