URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 10038
[ Назад ]

Исходное сообщение
"Массовое переименование файлов (Bash)"

Отправлено Dean , 20-Сен-15 07:16 
Подскажите, пожалуйста, как переименовать все файлы в директории, увеличив часть их названия на единицу.

Примеры:

aa006793.txt -> aa006893.txt
ad100143.txt -> ad100243.txt


Содержание

Сообщения в этом обсуждении
"Массовое переименование файлов (Bash)"
Отправлено XAnder , 20-Сен-15 17:26 
> Подскажите, пожалуйста, как переименовать все файлы в директории, увеличив часть их названия на единицу.
> Примеры:
> aa006793.txt -> aa006893.txt
> ad100143.txt -> ad100243.txt

rename 's/\d+/sprintf "%0".length($&)."d", $&+1/e' *.txt


"Массовое переименование файлов (Bash)"
Отправлено XAnder , 20-Сен-15 17:29 
Пардон, не доглядел, что там нужно только 4 цифры. Тогда ещё проще:

rename 's/\d{4}/sprintf "%04d", $&+1/e' *.txt



"Массовое переименование файлов (Bash)"
Отправлено Dean , 21-Сен-15 05:15 

Спасибо за помощь!