将多个文件合并为一个

将多个文件合并为一个

我目前有这个命令:

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

在 nix 操作系统上,您可以使用:

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

这将首先找到当前文件夹下的所有文件,然后将它们连接起来,然后使用脚本删除换行符,sed该脚本将行添加到没有换行符的寄存器中。

我怀疑从copy您在使用 Windows 的命令来看,您必须找到与 nix 命令等效的 Windows 命令。
find例如可以用 来替换dir /s /btype可能是 。 等的良好替代品cat

或者你可以看看这个答案https://stackoverflow.com/questions/127318/is-there-any-sed-like-utility-for-cmd-exe解释如何在 Windows 上使用 nix 命令工具。

相关内容