Как консоль вывести все файлы из выбранного набора файлов?

Я только начал работать со скриптами Ant, поэтому я не уверен, что задаю правильный вопрос, но здесь он идет:

У меня есть скрипт, который должен найти шаблон RegEx из отдельных файлов в указанном каталоге и заменить его, но я хочу вывести список выбранных файлов на консоль.

Я успешно создал скрипт для поиска и замены без проблем, и я уже знаю количество измененных файлов (чуть менее 5000 файлов). Сейчас я пытаюсь вывести список файлов, но количество файлов, отображаемых в консоли, значительно меньше (чуть меньше 600 файлов). Я не уверен, что просто слишком много файлов для вывода на консоль или мой скрипт требует работы

Вот код, который я должен вывести мои результаты:

    <target name="find">
        <path id="find.path">
            <fileset dir="${custom.dir}">
                <include name="**/*.js"/>
                <include name="**/*.jsp"/>
                <include name="**/*.xml"/>
                <include name="**/*.css"/>
                <include name="**/*.java"/>
                <containsregexp expression="(YEAR|DATE)(?:\s*2016,\s)"/>
            </fileset>
        </path>
        <pathconvert pathsep="${line.separator}--> "             
                property="echo.path.compile"             
                refid="find.path">
        </pathconvert>
        <echo>${echo.path.compile}</echo>
    </target>

1 ответ

Решение

Предполагая, что XML-файл для вашего Ant find.xml который имеет указанный выше код и custom.dir для ваших файлов /Desktop/Files,

Вот шаги с использованием оболочки Bash:

  1. Создайте файл с именем find.sh в том же каталоге вашего find.xml

  2. Внутри file.sh поставить следующее (вы не можете использовать ${custom.dir} как ссылка в коде ниже):

    for f in /Desktop/Files/*; do 
      echo $f;
      ant -f find.xml find;
    done 
    

что он делает, он просматривает каждый файл в каталоге файлов, независимо от его расширения, он отображает имя файла с указанием его местоположения, а затем выполняет find.xml с целью find,

Вы запускаете find.sh файл из терминала, как ./find.sh,

Другие вопросы по тегам