Maven ant,移动子目录中名称目录的所有内容

时间:2017-06-02 12:51:27

标签: java maven ant maven-antrun-plugin

我有一个未知的结构,如

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任务是否可行?

1 个答案:

答案 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>