Linux脚本循环

时间:2013-11-21 10:37:45

标签: linux variables loops for-loop

我想在Linux脚本中创建一个循环,它将通过一个目录中的文件夹,并将照片复制到一个文件夹,并覆盖具有相同名称的照片。有人能指出我的写作方向吗?

3 个答案:

答案 0 :(得分:3)

find /path/to/source -type f -exec cp -f {} /path/to/destination \;

那会有用吗?请记住,这将覆盖文件而不会询问。

如果您希望在覆盖之前与您确认,请在cp命令中使用-i标志(用于交互模式)。

答案 1 :(得分:0)

find /path/to/source -type f | xargs -I {} file {} | grep <JPEG or image type> | cut -d ":" -f1 | xargs -I {} cp -rf {} /path/to/destination

通过此功能,您可以选择仅选择图像类型来调整副本。

答案 2 :(得分:0)

实际上,您无需循环浏览文件夹以使用脚本查找照片,find命令将为您完成这项工作。

尝试将findxargscp

一起使用
find source_dir -type f -iname '*.jpg' -print0 | xargs -0 -I {} cp -f {} dest_dir

*.jpg替换为照片文件的格式。 (例如*.png等。)

请注意使用-f的{​​{1}}选项,因为您要覆盖同名照片