Переименуйте несколько файлов с разными именами в одно имя и разные номера - PullRequest
0 голосов
/ 05 января 2019

У меня есть несколько фотографий грузовиков со случайными грязными именами и различными форматами (jpeg, jpg, png и т. Д.), И я хочу переименовать их в "truck1.jpeg", "truck2.jpg", "truck3.png" и скоро. Как мне это сделать с помощью команды rename?

1 Ответ

0 голосов
/ 05 января 2019

Возможно, проще использовать 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 файлы новыми.

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