我目前有这个命令:
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 /b
。type
可能是 。 等的良好替代品cat
。
或者你可以看看这个答案https://stackoverflow.com/questions/127318/is-there-any-sed-like-utility-for-cmd-exe解释如何在 Windows 上使用 nix 命令工具。