Пакетное переименование независимо от расширения файла

Я довольно новичок в переименовании пакетов, и я немного огляделся, и я нашел кое-что для переименования большого количества файлов, которые все одинаковы, но ничего не переименовывает кучу файлов с разными расширениями.

под этим я имею в виду, что у меня есть такой каталог:

Folder 
  |
  file.jpg
  EBUFEWO.png
  otherFile.jpg

, и я пытаюсь понять, как я могу переименовать его так:

Folder
  |
  Renamed_0001.jpg
  Renamed_0002.png
  Renamed_0003.jpg

Я хотел бы сохранить расширения файлов в папке, но переименовать их, как здесь.

Я искал какое-то время и на самом деле не пришел на любом примере этого, любая помощь будет большой!

1
задан 26 January 2017 в 02:59

1 ответ

Надеюсь, это поможет

count=1; \
for file in * ; do ext=${file##*.}; \
while [ ${#count} -ne 3 ]; do count="0"$count; done; \
mv "$file" Renamed_$count.$ext; count=$((10#$count+1)); done

Это было проверено на содержимое одной папки и выполнено так, как вы указали.

ext=${file##*.} получить расширение файла для переименования. while [ ${#count} -ne 3 ]; do count="0"$count; done вы запросили, чтобы переименованные файлы содержали 3 цифры, это добавляет необходимое количество начальных нулей, 1 становится 001, а 20 становится 020 и т. д. mv "$file" Renamed_$count.$ext; переименовывает файл в указанные параметры.

Учитывая мой ограниченный опыт, я уверен, что есть более простые и эффективные методы.

Обратите внимание, что это было выполнено в указанной папке один раз.

0
ответ дан 23 May 2018 в 02:03
  • 1
    сначала он работает, но как только он достиг 008, я получаю сообщение об ошибке -bash: ((: 008: value too great for base (error token is "008") – Kyle Littlestar 26 January 2017 в 05:23
  • 2
    мой плохой ... Я сделал необходимые корректировки. – SwallowTail 27 January 2017 в 03:19

Другие вопросы по тегам:

Похожие вопросы: