查找并复制保留文件夹结构的所有图像
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 包含参数的示例
我正在尝试查找所有图像并将其从一个位置复制到另一个位置,同时保留文件夹结构。 我尝试使用以下命令:
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 包含参数的示例