仅复制或同步子目录中的文件

仅复制或同步子目录中的文件

我有一个名为 Music 的文件夹。此文件夹包含三个子文件夹:Jazz、Rock 和 Folk。现在这三个子文件夹都包含各种 .mp3 文件。现在我想通过运行一个命令将所有三个子文件夹中的 .mp3 文件复制到一个文件夹中。

答案1

您可以使用-rrsync 中的标志:

rsync -r /path/to/Music/*/*.mp3 /path/to/destination

它将匹配mp3的任何子目录下的每个文件Music,如果您希望它仅匹配子目录列表,请使用bash括号扩展:

rsync -r /路径/到/音乐/{爵士,摇滚,民谣}/*.mp3 /路径/到/目的地

您甚至可以使用--exclude选项来排除子目录和目录结构。

rsync -rv --exclude='*/' /path/in/source/dir*/ /path/to/destination/

或者使用子目录:

rsync -rv --exclude='*/*' /path/in/source/dir*/ /path/to/destination/

您也可以使用scp命令

scp -r /path/to/Music/*/*.mp3 /path/to/destination

这个问题在另一个问题中已经得到回答:使用 rsync 将文件从多个目录复制到一个目录

相关内容