我正在尝试将图像文件复制到不同的文件夹 x 次(100 次)。如何在终端中执行此操作?
我已成功在同一个文件夹中复制,但我需要在另一个文件夹中复制。
到目前为止,我已经尝试过这个:
i=10; while((i++ < 100)); do cp index "index$i"; done
请协助。
答案1
只需在文件名前添加目录名:
i=0; while ((i++ < 100)); do cp index /destination/directory/"index$i"; done
替换/destination/directory
为实际的目录名称。
答案2
假设您要复制的文件位于当前工作目录中。根据需要
将其替换/path/to/destination
为真实目录的路径。
index
如有必要,应将其替换为真实文件名:
for i in {1..100}; do echo cp -v -- index /path/to/destination/"index-$i"; done
测试后删除echo
,然后重复命令以实际复制文件
为便于排序,最好将数字设置为固定宽度,例如 001,002...010 等,因此您可以使用printf
:
for i in {1..100}; do printf -v new "index-%03d" "$i"; echo cp -v -- "index" /path/to/destination/"$new"; done
或更易读
for i in {1..100}; do
printf -v new "index-%03d" "$i"
echo cp -v -- "index" /path/to/destination/"$new"
done