удалить относительный путь к jar и сохранить только имя jar

#ant

#ant

Вопрос:

У меня есть файл свойств, который содержит список jar из разных путей, подобных этому

 /gwt/X/2.1.0/gwt-servlet.jar                                    
/gwt/X/2.1.0/gwt-user.jar
/gwt/X/2.1.0/gwt-dev.jar    
/gwt/X/2.1.0/gwt-soyc-vis.jar 
/log4j/X/1.2.15/log4j-1.2.15.jar
/GWT_LOG/X/3.0.3/gwt-log-3.0.3.jar
/GWT_MATH/X/2.1/gwt-math-2.1.jar
/GWT_MATH/X/2.1/gwt-math-server-2.1.jar 
/GWT_Commons_Logging/X/0.3/GWT-commons-logging/gwt-commons-logging-0.3.jar          
/GWT_Commons_Logging/X/0.3/GWT-commons-logging/gwt-commons-logging-service-0.3.jar
  

В этом списке у меня около 1000 таких jar.
Я хотел бы удалить относительные пути перед именем jar и поместить имена jar в новый файл примерно так

 gwt-servlet.jar             
gwt-user.jar
gwt-dev.jar 
gwt-soyc-vis.jar 
log4j-1.2.15.jar
gwt-log-3.0.3.jar
gwt-math-2.1.jar
gwt-math-server-2.1.jar 
gwt-commons-logging-0.3.jar     
gwt-commons-logging-service-0.3.jar
  

Это не одноразовое действие, поэтому я хотел бы создать цель или задачу в моем build.xml для ежедневного использования.

Ответ №1:

  <replaceregexp file="file.txt" match="[^ ]*/" replace="" byline="true" flags="g"/>
  

Комментарии:

1. Если этот ответ решил вашу проблему, вам следует установить флажок рядом с ответом, чтобы «принять» его.

Ответ №2:

Ant не очень подходит для подобных задач. Вероятно, гораздо проще написать для этого простую Ant-задачу на Java (или небольшую Java-программу; просто создайте File объекты и вызовите getName() , чтобы получить последний элемент path).

Но если вам нужно: script и scriptdef , вероятно, ваши друзья (при условии, что ваша версия Ant достаточно свежая; в документах упоминается 1.6.3). Вы можете вызвать любой Java-метод из этих скриптов. Смотрите руководство для примеров.