linux - rsync 制作平面副本

标签 linux file copy rsync flat

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

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

/
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/

相关文章:

linux - (TCP)Echo客户端: Automatic disconnect after message sent

linux - shell 是否回显完整内容而不使用转义字符

c# - 将数组复制到数组

java 。如何将文本 append 到 file.txt 的顶部

用于测试文件操作的 Linux 命令

python - 在 'watertight compartment' 中导入 python 模块

c++ - 如何使用 C++ 在一个 http 请求中将多个文件从服务器复制到本地硬盘?

linux - 使用自动 linux Bash Shell 脚本使用 wkhtmltopdf 未生成 Pdf?

python - Pip 无法在 ubuntu 服务器上安装任何东西

bash - 删除bash中所有子目录中的所有临时文件(以〜结尾)