1

В настоящее время у меня есть эта команда:

copy /b *.txt newfile.txt

Но я хочу также включить все файлы с папками.

  • Как я могу это сделать? Возможно ли добавить это в Apache Ant?

Я также рассматриваю возможность сделать это для минимизации файлов JS.

  • Есть ли способ удалить строки?
  • Есть ли лучшая команда для использования, чем та, которую я сейчас использую?

ТЕКУЩИЙ КОД

<target name="concatenate" description="Concatenate all js files">
    <concat destfile="build/application.js">
        <fileset dir="js" includes="**/*.js" />
    </concat>
</target>
<target name="compress" depends="concatenate" description="Compress application.js to application-min.js">
    <apply executable="java" parallel="false">
        <filelist dir="build" files="application.js" />
        <arg line="-jar" />
        <arg path="C:\yuicompressor-2.4.7\build\yuicompressor-2.4.7.jar" />
        <srcfile />
        <arg line="-o" />
        <mapper type="glob" from="*.js" to="build/*-min.js" />
        <targetfile />
    </apply>
</target>

1 ответ1

0

В операционной системе nix вы можете использовать:

 find | xargs cat | sed ':a;N;$!ba;s/\n/ /g'

Сначала он найдет все файлы в текущей папке, затем объединит их и затем удалит символы новой строки с помощью сценария sed который добавляет строки в регистр без новой строки.

Я подозреваю, что при использовании команды copy вы используете Windows, вам нужно будет найти эквиваленты Windows для команд nix.
например find можно заменить на dir /s /b . type может быть прекрасной заменой для cat . и т.п.

Или вы можете посмотреть в этом ответе https://stackoverflow.com/questions/127318/is-there-any-sed-like-utility-for-cmd-exe, который объясняет, как использовать инструменты команд nix в Windows.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .