你好,我在 ubuntu 服务器上有一个装满音乐文件的文件夹。我试图将所有上述音乐文件 *.mp3/flac 复制到一个目录中,不包含子文件夹。
我在 rsync 中使用了这个命令,它在一定程度上起作用,但它不会查看包含所需文件的子文件夹 -
rsync ~/DIR/sub_dir/sub_dir2/*.mp3 ~/DIR/sub_dir/D+B
这有效,但只适用于 sub_dir2 中的 *.mp3 文件,而不适用于任何子文件夹!
rsync 实际上可以扫描子文件夹并把 *.mp3 文件移动到 D+B 文件夹吗?
谢谢
答案1
答案2
这取决于你的 rsync 实现
rsync --include=*.mp3 --exclude=* ~/DIR/sub_dir/sub_dir2/ ~/DIR/sub_dir/D+B
尝试一下,然后告诉我,因为许多变体可能效果一样好甚至更好
rsync --exclude=* --include=*.mp3 ~/DIR/sub_dir/sub_dir2/ ~/DIR/sub_dir/D+B
rsync --exclude=* --include=*/*.mp3 ~/DIR/sub_dir/sub_dir2/ ~/DIR/sub_dir/D+B
rsync --exclude=* --include=**/*.mp3 ~/DIR/sub_dir/sub_dir2/ ~/DIR/sub_dir/D+B
答案3
我最终使用了此命令,在包含子文件夹的文件夹中运行该命令,它将扫描 mp3/flac 文件并将它们复制到目标文件夹。如果要移动,请将 cp 替换为 mv。
find -iname '*.mp3' -exec cp {} ~/Downloads/Destination Directory/ \;