Окружить определенную строку указанными символами, используя редактор с поддержкой регулярных выражений

Мне нужно отформатировать определенную строку в документации Сфинкса заголовок H2.

Пример:

v-add-user следует заменить на

********* v-add-user *********

Я ищу нужную строку в Notepad++ (регулярное выражение ^(v-.*)) и заменить его на

********$0********

для того, чтобы достичь желаемого.

Текущее решение довольно ужасно. Есть ли способ оптимизировать и упростить текущее решение или получить другое, используя Notepad++, sed, vim или любое другое программное обеспечение, способное выполнить такое преобразование? Также было бы здорово, если бы количество звездочек в обёртке строки соответствовало длине обернутой строки.

1 ответ

Решение

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

Я обрабатываю все совпадающие строки с помощью следующей команды.

sed -ri 's/^(v-.*)$/******\n\1\n******/' output.rst

Это удовлетворяет мои потребности на данный момент.

Другие вопросы по тегам