Как найти файл в каталоге, прочитать его имена и распечатать файл с наибольшим номером с помощью Ant? - PullRequest
0 голосов
/ 03 декабря 2018

Мне нужно разработать скрипт ANT, который читает содержимое каталога.Файлы в этом каталоге нумеруются вместе с его именем.Я должен найти файл с наибольшим номером в этом каталоге и вернуть его имя и номер.

Например:

>> ls
patch-aaa-050.jar
patch-aaa-051.jar
patch-aaa-052.jar
patch-aaa-053.jar
patch-aaa-054.jar
patch-aaa-055.jar

Мне нужно отобразить: Latest patch is patch-aaa-055: Patched level: 55

Хотя это очень простая задача в Bash, PowerShell or Python.Я немного невежественен в ANT.Я проверил dirset Тип и fileset Тип.Эти типы могут перечислять каталоги, но анализ имен файлов для меня огромен.Дизайн должен работать только с ANT, поэтому я ограничен в использовании этого инструмента.

Спасибо

1 Ответ

0 голосов
/ 03 декабря 2018

Использование коллекции ресурсов пути в сочетании с базовым именем и сценарием задачи, например:

<project>
 <path id="foo">
  <last>
    <sort>
      <fileset dir="C:/WKS/temp" includes="*.jar"/>
    </sort>
  </last>
 </path>

 <basename file="${toString:foo}" property="foobar"/>

 <script language="javascript">
   var a = project.getProperty('foobar').split('.')[0];
   var b = project.getProperty('foobar').split('-')[2].split('.')[0];
   print ('Latest patch is ' + a + ': Patched level: ' + b);
 </script>
</project>

Существуют также другие возможности для сортировкисм. Руководство по муравьям

...