LinuxForum.Fans
Тема

Regexp: в названии файла прибавить число

Автор: aivs 7 сообщений 1323 просмотров
#244018

Странная задача у меня возникла, обновить на сайте галерею.
Только вот незадача, файлы в галереи имеют названия типа:
p0000000.jpg p0000002.jpg p0000004.jpg p0000006.jpg
p0000001.jpg p0000003.jpg p0000005.jpg p0000007.jpg

И файлы которые нужно добавить, тоже имеют такие же названия:
p0000000.jpg p0000002.jpg p0000004.jpg p0000006.jpg
p0000001.jpg p0000003.jpg p0000005.jpg p0000007.jpg

Чтобы сохранить порядок, мне нужно к названиям моих файлов прибавить число 8, получится так:
Файлы на сайте:
p0000000.jpg p0000002.jpg p0000004.jpg p0000006.jpg
p0000001.jpg p0000003.jpg p0000005.jpg p0000007.jpg
Файлы которые залью:
p0000008.jpg p0000010.jpg p0000012.jpg p0000014.jpg
p0000009.jpg p0000011.jpg p0000013.jpg p0000015.jpg

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

#244030

Может, rename ?

#244035
"aivs" написал:
Подскажите, как бы это сделать, sed мучаю, но пока не получается.

через sed это не возможно сделать... (гипотетически конечно возможно, но лучше не надо).
по идее на awk можно, но я его не знаю.
если только на один раз, то как вариант bash, что-то типа:
for I in $(seq 0 07); do mv "p$(printf "%07d" $I).jpg" "p$(printf "%07d" $(($I + 8))).jpg"; done

#244036

В порядке некоторого оффтопа:
— чтобы в будущем избежать подобных проблем, следует файлам давать уникальные имена, привязав их, к примеру, к точной дате создания изображения, взятой из Exif.

#244185

Можно попробывать gThumb. Там вроде есть фича с таким переименованием.

#244706

А чем GNOME Commander не устраивает? Выделяете файлы, Ctrl+M и вперёд. Это расширенное средство переименования.
В Вашем примере шаблон указываете как p$c(7).jpg, начало отсчёта с 8...

#244783

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

Войдите или зарегистрируйтесь, чтобы ответить.