我试图编写一个脚本,将一个目录(带有子目录)的所有文件复制到另一个目录的根目录。
所以想象一下,我有这样的文件结构:
/ pic.JPG PIC5.JPG FOLDER pic2.JPG pic3.JPG FOLDER2 pic4.JPG
我想从该目录中的所有.JPG文件,并将其复制到另一个目标。 但是我不想要目录结构,只是文件。
这是我得到的:
"sudo rsync -aq --include '*/' --include '*.JPG' --exclude '*\' /source/picturesRoot/ /destination/flatView/
但它也复制目录:(我发现这个链接在stackoverflow上: rsync:recursion同步所有文件,而忽略目录结构
我查看了解决scheme,除了*和*之外,没有看到与我的命令有太大的区别。 在path中。 我尝试过,但没有奏效。
我希望有人能帮助我,谢谢。
这个答案不能为你工作,因为你的图片不在目录的同一级别。 在rsync
没有选项可以跳过创建目录结构。 在你给的链接中,这是工作的,因为用户用*
显式选择源文件。
你可以用find
和rsync
来尝试一些东西。 Find
将找到文件和rsync
复制它们。
这是一个解决方案:
find /source/picturesRoot -type f -name "*.JPG" -exec rsync -a {} /destination/flatView/ \;
要小心,如果两个文件具有相同的名称,则只有一个文件位于目标目录中。