2016-06-20 6 views
0

У меня есть сценарий Ant и SQL-скрипт. Скрипт Ant делает SQL-скрипт для работы с базой данных и генерирует файл .txt с несколькими строками. Файл .txt содержит значение, такие как:Как удалить запятую из файла .txt с помощью скрипта Ant

'value1', 
'value2', 
'value3', 
. 
. 
'valueN', 

Я хочу, чтобы удалить запятую в последней строке. Есть ли какая-либо команда Ant, которую я могу использовать, чтобы это произошло?

Я новичок как Ant и SQL

+0

@AIBlue: Сво акроним для «Другого Аккуратные Tool». Вот почему я написал это так. – san

ответ

0

Просто используйте Ant replaceregexp task, F.E. :

<replaceregexp 
    match=",[^,]*$" 
    replace="" 
    file="${temp.dir}/file.txt" 
/> 

Регулярное выражение картина выглядит для последнего «»
- EDIT - после комментария
Просто поместите <replaceregexp> фрагмент кода после <sqlexecquiet>, который генерирует свой OutputFile, адаптированный фрагмент кода к вашему необходимо:

<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> 
+0

Спасибо за ваш ответ. Но когда я добавляю скрипт, который вы предложили моему сценарию ANT, он отображает ошибку. Вот сценарий, который делает SQL-запрос для создания файла .txt. Можете ли вы предложить где добавить скрипт, который вы упомянули <имя целевой = "runquery" зависит = "инициализировать">< sqlexecquiet драйвер = "$ {jd.driver}" URL = "$ {базы данных. url} " userid =" $ {database.user} " password =" $ {database.password} " delimiter =" go " coldelimiter ="; " print = "yes" showheaders = "true" onerror = "continue" output = "$ {temp.dir} /file.txt"> – san

+0

@san см. Мое редактирование, расширен ответ. – Rebse

+0

Возвращает следующую ошибку: ** Тип не поддерживает вложенный элемент "file" ** – san

0

Вы можете добавить следующие <replaceregexp> задачи в конце сборки в формате XML, чтобы удалить его

<replaceregexp file="${temp.dir}/yourfile.txt" 
       match=",([^,]*)$" 
       replace="" 
/> 

Надеется, что это помогает

+0

Неправильно использовать byline = "true" с этим регулярным выражением, потому что он удалит все ',' из файла. Также вы просто повторяете мой ответ. – Rebse

+0

К сожалению, моя ошибка .. спасибо за указание :) – Sanjeev

Смежные вопросы