LINUX.ORG.RU
ФорумAdmin

Помогите с регуляркой для массового переименования файлов

 ,


0

1

Нужно привести

bla1.YYYY-MM-DD.bla2.log

к виду

bla1.bla2.log.YYYY-MM-DD

где YYYY-MM-DD - это дата, которая может быть разная

Спасибо.

★★★★★

Последнее исправление: targitaj (всего исправлений: 4)

Ответ на: комментарий от pavlick

В составе bla1 и bla2 есть точки ((

targitaj ★★★★★
() автор топика
echo 'bla1.bla.2001-12-13.bla2.bl3.log' | sed -r 's/^(.+)\.([0-9]{4}-[0-9]{2}-[0-9]{2})\.(.+)$/\1.\3.\2/'
bla1.bla.bla2.bl3.log.2001-12-13
anonymous
()
Ответ на: комментарий от anonymous

Нет понимания как подойти к вопросу.

targitaj ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Спасибо, попробую. Однако, сначала придётся понять... *ладони-глаза*

targitaj ★★★★★
() автор топика

шаблон завит от патернна тогда и только тогда вычленяющее дату

а точно именно регуляркой - может каким рабоче-крестьянской императивщенной?


sT(^.*)({верю_тебе_в_твою_способность})(.*$)T\1\3\2T
qulinxao3
()

если дефисов больше нигде кроме нет

зайдёт ..*-..-..

иначе то более строгое .-\d\d-. и т.п.

зы. регулярки это весело ибо определять языки входные решающего автомата это весело всегда.

qulinxao3
()

Брось всяки седы с их непредсказуемостью. AWK сделает как надо.

Bootmen ☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.