2017-01-05 4 views
1

я хочу переименовать различные файлы в Баше с рисунком и нашел этот вариант:переименовывать файлы с изменением шаблона

rename 's/.2007/(2007)/g' *.* 

с этим рисунком я могу переименовать все файлы с «.2007" в названии, чтобы» (2007) «
-> это именно то, что я хочу сделать.

Следующий шаг:
я хочу автоматизировать это, потому что у меня есть файлы с 1995 - 2017. Это возможность сделать:

rename 's/.2007/(2007)/g' *.* 
rename 's/.2008/(2008)/g' *.* 
rename 's/.2009/(2009)/g' *.* 

т.д.

, но на самом деле, есть еще решение?

мои файлы именуются как (они не имеют одинаковую длину ...):

FILENAME.ANOTHERFILENAME.2007.jpg 
FILENAME.2007.jpg 
FILENAME.ANOTHERFILENAME.SOMETIMESONEMORE.2007.jpg 
+0

Использовать для цикла и увеличивать переменную –

ответ

1

С переименованием в Perl:

rename -n 's/.([1-2][0-9]{3})/($1)/' *.* 

переименовывает все файлы с 1000 до 2999. Если все выглядит нормально, удалите -n.