Я нашел ответ для дополняющих нуль числовых имен файлов, который хорошо работает для переименования имен файлов следующим образом:
1.jpg > 00001.jpg
2.jpg > 00002.jpg
.
.
.
9.jpg > 00009.jpg
Это использует следующую команду:
rename 's/\d+/sprintf("%05d", $&)/e' *.jpg
Но мои имена файлов не являются числовыми. Они - алфавитно-цифровая последовательность, как: a.jpg, b.jpg, c.jpg...... m.jpg
.
Похожим способом к исходному вопросу я хочу переименовать их так, они отображаются в корректной последовательности. Как я делаю это?
Вы можете буквы нулевой клавиатуры также, просто необходимо изменить мою исходную команду немного к:
rename 's/\w+/sprintf("%05s", $&)/e' *.jpg
Мы в основном просто говорим, заменяем первое "слово" (числа и буквы) с нулевой строкой заполнения. Это очень похоже на оригинал, это просто немного отличается. Эта пустошь версии работает на исходную проблему.
Вы могли развернуть его в a .+
соответствие (для обнуления заполняют все), но затем Вы, возможно, должны были бы обработать расширение на вершине.
Тестовая обвязка:
$ mkdir test; cd test; touch {a..d}.jpg 1.jpg
$ rename 's/\w+/sprintf("%05s", $&)/e' *.jpg
$ ls
00001.jpg 0000a.jpg 0000b.jpg 0000c.jpg 0000d.jpg