gpt4 book ai didi

linux - rsync 制作平面副本

转载 作者:太空狗 更新时间:2023-10-29 11:32:34 25 4
gpt4 key购买 nike

我正在尝试编写一个脚本,将一个目录(带有子目录)的所有文件复制到另一个目录的根目录。

想象一下我有这样的文件结构:

/
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 : Recursively sync all files while ignoring the directory structure

我查看了解决方案,除了 * 和 .在路径中。我试过了,但没用。

我希望有人能帮助我,谢谢。

最佳答案

这个答案对你不起作用,因为你的图片在目录中不在同一级别。 rsync 中没有选项可以跳过目录结构的创建。在您提供的链接中,它可以正常工作,因为用户使用 * 明确选择了源文件。

您可以尝试使用 findrsyncFind 将找到文件并rsync 复制它们。

解决方法:

find /source/picturesRoot -type f -name "*.JPG" -exec rsync -a {} /destination/flatView/ \;

注意,如果两个文件同名,目标目录中只会有一个。

关于linux - rsync 制作平面副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24613009/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com