Странная задача у меня возникла, обновить на сайте галерею.
Только вот незадача, файлы в галереи имеют названия типа:
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 мучаю, но пока не получается.
Оперирую сотней файлов, поэтому ручками не хочется переименовывать.
Regexp: в названии файла прибавить число
Может, rename ?
Подскажите, как бы это сделать, sed мучаю, но пока не получается.
через sed это не возможно сделать... (гипотетически конечно возможно, но лучше не надо).
по идее на awk можно, но я его не знаю.
если только на один раз, то как вариант bash, что-то типа:
for I in $(seq 0 07); do mv "p$(printf "%07d" $I).jpg" "p$(printf "%07d" $(($I + 8))).jpg"; done
В порядке некоторого оффтопа:
— чтобы в будущем избежать подобных проблем, следует файлам давать уникальные имена, привязав их, к примеру, к точной дате создания изображения, взятой из Exif.
Можно попробывать gThumb. Там вроде есть фича с таким переименованием.
А чем GNOME Commander не устраивает? Выделяете файлы, Ctrl+M и вперёд. Это расширенное средство переименования.
В Вашем примере шаблон указываете как p$c(7).jpg, начало отсчёта с 8...
Спасибо за варианты решения, sed действительно не умеет делать арифметические действия.
Пошел не православным путем, и воспользовался программой для оффтопика, т.к. в момент когда нужно было срочно загружать фотки, под рукой был только такой комп.