如何将递归目录复制到平面目录

时间:2019-04-29 11:08:08

标签: linux rsync

我正在尝试将当前处于多目录结构的所有* .psd文件复制到一个目录中。 是否存在rsync参数化允许?

Copying files from multiple directories into a single destination directory处提出的解决方案不是多级递归目录,而是单级子目录。

在我目前的情况下,我希望将多个递归目录(最多7个级别)中的文件合并到一个目录中。

2 个答案:

答案 0 :(得分:2)

我认为@choroba的答案是正确的。

出于完整性考虑(或出于任何原因需要使用rsync复制文件),可以使用rsync(在这种情况下就像使用cp)来降低效率,使用查找,循环和其他并非必需的东西。

for file in $(find ./path/to/source/topdir -name "*psd" ); do rsync $file /path/to/destination/; done

答案 1 :(得分:1)

我担心rsync在这里无法为您提供帮助。您可以使用find查找所有文件,然后将它们复制到目标目录,

find /path/to/source/topdir -type f -name '*.psd' -exec cp {} /path/to/destination/ \;
相关问题