Возможно, проще использовать bash
и mv
, так как AFAIK вам нужно что-то вроде bash
для генерации числовой последовательности. В bash
i=1
for x in *; do
echo $x '->' truck$i.${x##*.}
mv "$x" truck$i.${x##*.} && i=$((i+1))
done
for x in *
работает со всеми файлами, имена которых не начинаются с точки и находятся в текущем каталоге. Вы можете настроить глобус так, чтобы он был более эксклюзивным, но этот скрипт потребует модификации, если файлы находятся в других каталогах. Опять же, возможно, проще собрать файлы в один каталог, или, может быть, поместить его в файл сценария и выполнить в нескольких каталогах, используя find ... -exec
.
Используется i
в качестве счетчика для генерации цифр. Уловка - это выражение ${x##*.}
, которое берет имя файла и удаляет все до конечной точки. Это позволяет сохранить и заново прикрепить расширение файла к новому имени. Вы должны быть осторожны, чтобы правильно установить i
, иначе вы перезапишете старые truck1
файлы новыми.