我想在svn中将大量文件从一个目录批量移动到另一个目录。不幸的是,svn一次只支持移动一个文件。
基本上我想将某种类型的文件( .xml)移动到完全不同的目录,例如mv foo / bar / .xml forbar / xml
我尝试使用find和使用-exec,但是我需要为第二个参数剥离目录。有什么想法吗?
编辑:使用bash
答案 0 :(得分:5)
假设你正在使用bash:
for x in `find -name *.xml`; do
echo svn move $x forbar/`basename $x`;
done
如果您对输出正确感到满意,请从第二行中删除“echo”。
答案 1 :(得分:5)
您可以使用-execdir
选项执行此操作。这将从源文件所在的目录运行(这避免了目录链接等竞争条件)。
find -name '*.xml' -execdir svn move {} `pwd`/foobar/{} \;