rsync:将所有文件同步到单个目录,忽略目录结构。

3
我想将所有文件同步到特定目录,而不同步目录结构。
到目前为止,我有这个:
rsync -vcr --remove-source-files --exclude='*sample*' --exclude='*Sample*' --include='*/' --include='*.avi' --include='*.mkv' --include='*.mp4' --include='*.wmv' --exclude='*' $src1 $src2 $dest

这似乎运作得相当不错,但如果所包含的文件类型位于源目录的子目录中,则其父目录也将被传输。
总之,我想要所有包含的文件类型直接移动到单个目标目录,而不复制父目录结构。

可能是Rsync制作平面副本的重复问题。 - Ruslan Osmanov
1个回答

0

看起来你的命令中有一个多余的--include='*/,它是不必要的,并且导致了你遇到的问题。你应该使用以下命令:

编辑

我们还应该删除--exclude='*',因为我们已经使用include来处理相关文件。

rsync -vcr --remove-source-files --exclude='*sample*' --exclude='*Sample*'        \
      --include='*.avi' --include='*.mkv' --include='*.mp4' --include='*.wmv'     \
      $src1 $src2 $dest

希望能有所帮助。


我尝试过不带 --include='*/',但奇怪的是它似乎没有递归搜索(即使使用了 -r)。 - Cory
让我们也删除 --exclude='*',因为我们使用 include 来处理相关文件,这可能是多余的。 - J. Chomel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接