我有一个Ant脚本和一个SQL脚本。 Ant脚本使SQL脚本针对数据库运行,并生成包含多行的.txt
文件。 .txt
文件包含以下值:
'value1',
'value2',
'value3',
.
.
'valueN',
我想删除最后一行中的逗号。是否有任何Ant命令可用于实现此目的?
我是Ant和SQL的新手
答案 0 :(得分:0)
只需使用Ant replaceregexp task,f.e。 :
<replaceregexp
match=",[^,]*$"
replace=""
file="${temp.dir}/file.txt"
/>
正则表达式模式查找最后一个','
评论后 - 编辑 -
只需将<replaceregexp>
代码段放在生成输出文件的<sqlexecquiet>
之后,根据您的需要调整代码段:
<target name="runquery" depends="initialize">
<sqlexecquiet
driver="${jd.driver}"
url="${database.url}"
userid="${database.user}"
password="${database.password}"
delimiter="go"
coldelimiter=";"
print="yes"
showheaders="true"
onerror="continue"
output="${temp.dir}/file.txt"
>
<replaceregexp
match=",[^,]*$"
replace=""
file="${temp.dir}/file.txt"
/>
</target>
答案 1 :(得分:0)
您可以在构建xml的末尾添加以下 <replaceregexp>
任务以将其删除
<replaceregexp file="${temp.dir}/yourfile.txt"
match=",([^,]*)$"
replace=""
/>
希望这有帮助