Я пытаюсь копировать файл изображения к другой папке x времена (100 раз). Как я могу сделать это в терминале?
Я преуспел в том, чтобы копировать в той же папке, но я должен копировать в другой папке.
До сих пор я попробовал это:
i=10; while((i++ < 100)); do cp index "index$i"; done
Помогите.
Просто предварительно ожидайте имя каталога перед именем (именами) файла:
i=0; while ((i++ < 100)); do cp index /destination/directory/"index$i"; done
Замена /destination/directory
с фактическим именем каталога.
Это принимает файл, который Вы хотите скопировать, находится в текущем рабочем каталоге.
Замена /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