Bash | Добавлять нумерацию файлов, когда скрипт перебирает массив файлов - PullRequest
0 голосов
/ 13 апреля 2020

Попытка добавить индексный номер каждого элемента в моем массиве. Это показывает, какой файл занят копированием, или, вернее, сколько осталось скопировать.

for files in "${source}"${file_extensions_to_copy} ; do 

echo "copying file 1 of 10" 

cp -ap "${files}" "${destination}" 

Решение:

echo "copying file $((index + 1)) of ${#files[@]}"

1 Ответ

2 голосов
/ 13 апреля 2020

Вот пример:

source_dir=/path/to/source
destination_dir=/path/to/destination
ext=*.txt
files=( "$source_dir/"$ext )

for index in "${!files[@]}"; do
  echo "copying file $((index + 1)) of ${#files[@]}"
  cp -ap "${files[index]}" "$destination_dir"
done

Обратите внимание, что массивы начинаются с нуля, поэтому необходимо добавить 1 к каждому индексу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...