Предположим, у меня есть папка с тысячами фотографий, названных случайным образом. Как можно переименовать их как фото1, фото2, ..., фото1000 из командной строки / терминала?
Я предположу, что Вы хотите сохранить надлежащий суффикс на именах файлов:
c=1; for f in *.jpg ; do mv "$f" "photo$c.jpg" ; c=$(($c+1)) ; done
c=1
: Этот initalizes счетчик. Можно установить его на любое число, которое Вы любите.
for f in *.jpg ; do
: Это показывает начало оболочки for
- цикл. В то время как большая часть сценариев оболочки может быть трудной сделать работу, когда имена файлов могут содержать пробелы, новые строки или другие трудные символы, эта конструкция безопасна против даже самых враждебных имен файлов.
mv "$f" "photo$c.jpg"
: Это использует счетчик c
и делает фактическое переименование файлов. Имя файла $f
находится в двойных кавычках для защиты имени от различных возможных расширений оболочки.
c=$(($c+1))
: Это увеличивает счетчик для следующего цикла
done
: показывание конца for
цикл.
Можно использовать этот код:
for i in *.jpg; do let j+=1 ; mv "$i" "photo$j.jpg" ; done