查找并复制保留文件夹结构的所有图像

Find and copy all images preserving the folder structure

我正在尝试查找所有图像并将其从一个位置复制到另一个位置,同时保留文件夹结构。 我尝试使用以下命令:

 sudo find . -type f -exec file {} \; | awk -F: '{ if ( ~/[Ii]mage|EPS/) print }'  | cpio -pdm  /media/newlocation

这几分钟工作正常(我有千兆字节的文件要查找和复制)但一段时间后我收到以下错误:

find: `file' terminated by signal 13

命令有什么问题? 有更好的方法吗?

此致

我不确定你为什么要得到 sigpipe。

与其让 find 执行 exec,不如试试:

找到。 -type f -打印 | xargs 文件 |哇....

也就是说——让 find 将它们打印出来并将 xargs 文件发送到 运行 文件命令。

请注意,您的 sudo 命令会进行查找,但不会对整行执行 sudo。这会给你带来更多麻烦(如果你需要 sudo 的话)。

您可以使用 rsync 将一个目录复制到另一个目录。如果您只需要一些特定文件,请随意使用 --exclude--include 选项。

rsync -avz --include='[iI]mage' --include='EPS' --exclude='*' source/ output/

要测试命令添加 rsync --dry-运行 选项:

--dry-run perform a trial run with no changes made

您可以在此 thread.

中找到一些 rsync 包含参数的示例