我有一个未知的结构,如
folder/folder1/XXX/file1
folder/folder1/XXX/file2
folder/folder21/folder22/XXX/file2
我希望得到像
这样的东西/folder1/file1
/folder1/file2
/folder21/folder22/file2
在脚本ssh中,我只会这样做:
find -type d -name XXX -exec bash -c "cd '{}' && mv *.* ../" \;
find -type d -name XXX -delete
使用ant任务是否可行?
答案 0 :(得分:0)
我找到了使用regexpmapper的解决方案:
<configuration>
<target name="copy XXX files to the parent directory">
<!-- move all files in XXX/ folder to the parent folder-->
<move todir="directory">
<fileset dir=directory">
<include name="**/XXX/*"/>
</fileset>
<mapper type="regexp" from="^(.*)XXX(.*)" to="\1/\2"/>
</move>
<!-- Remove empty folders-->
<delete includeemptydirs="true">
<fileset dir="directory">
<and>
<size value="0"/>
<type type="dir"/>
</and>
</fileset>
</delete>
</target>
</configuration>