Последовательное переименование файлов

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

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.

Похожим способом к исходному вопросу я хочу переименовать их так, они отображаются в корректной последовательности. Как я делаю это?

3
задан 13 April 2017 в 15:23

1 ответ

Вы можете буквы нулевой клавиатуры также, просто необходимо изменить мою исходную команду немного к:

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
6
ответ дан 14 April 2017 в 01:23
  • 1
    В целом это делает, особенно с нормальной установкой, обеспеченной Ubuntu. Вопрос был о том, что могло произойти, и это могло произойти. Вопрос wasn' t о чем-то, что будет работать при любых возможных обстоятельствах. – Chai T. Rex 18 December 2016 в 14:07

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

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