Как добавить точки между каждыми двумя цифрами шестизначной подстроки?

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

2013-05-01 120125.jpg

Мне нужно преобразовать их все в:

2013-05-01 12.01.25.jpg

Я предполагаю, что это было бы довольно тривиально с регулярными выражениями, но я всегда сбит с толку, когда пытаюсь что-то с ними сделать! Помощь приветствуется!


person zip_000    schedule 09.07.2017    source источник
comment
Что вы пробовали? Показать свою работу. SO не является службой написания кода, вы должны делать свою работу самостоятельно, а мы можем помочь вам решить проблемы, с которыми вы столкнетесь.   -  person Soviut    schedule 10.07.2017
comment
На каком языке/среде будет работать это регулярное выражение?   -  person mickmackusa    schedule 10.07.2017
comment
Скорее всего, я буду запускать регулярное выражение в nano. Что я пытаюсь сделать, так это массово изменить имена файлов с помощью renameutils. Откроется нано-файл со всеми именами файлов в папке.   -  person zip_000    schedule 10.07.2017


Ответы (3)


Вы хотите использовать технику замены (на любом языке/среде, которую вы используете) для ваших подстрок, захватив это следующим образом:

(\d{2})(\d{2})(\d{2})

*обратите внимание, что фигурные скобки предназначены для повышения эффективности.

И заменить на:

$1.$2.$3

Вот демонстрационная ссылка.

Вот страница SO, на которой обсуждается выполнение замен в nano.

person mickmackusa    schedule 09.07.2017
comment
Спасибо, я попробую. - person zip_000; 10.07.2017

Используйте группы захвата, чтобы сопоставить цифры, и скопируйте их на замену.

Заменить: (\d\d)(\d\d)(\d\d)\.jpg

С: $1.$2.$3.jpg

$1, $2, $3 копируют части исходной строки, которым соответствует каждая группа захвата.

person Barmar    schedule 09.07.2017

Как упомянул Совиут, SO предназначен для помощи, а не для выполнения работы за вас. Что, как говорится:

Если вы хотите что-то сделать с регулярными выражениями, вам лучше всего перейти на веб-сайт Rubular, который позволяет вам создать свое регулярное выражение, точно видя, какой результат вы получаете.

рубуляр

person Paul Stringer    schedule 09.07.2017
comment
Что-то подсказывает мне, что этого ответа не должно быть здесь, а вместо этого в разделе комментариев... о - person Mateus; 10.07.2017
comment
Спасибо, я дочитаю. Я не пытался избежать изучения этого... ну, может быть, немного... Я просто всегда чувствую себя очень подавленным регулярным выражением. Это не помощь с домашним заданием или что-то в этом роде, просто попытка объединить некоторые файлы. - person zip_000; 10.07.2017