Форматирование списка регуляркой на JS

Есть такой вот список:

-------------------------------------------------

Studio name:
  Awesome Work 1
  Awesome Work 2
  Awesome Work 3

-------------------------------------------------

Another Studio:
  Film

-------------------------------------------------

TV Giant:
  Item 1.1
  Item 1.2
  Item 1.3

  Item 2.1
  Item 2.2

-------------------------------------------------

Решел перевести его на язык markdown таким вот образом:

### Studio Name
* Awesome Work 1
* Awesome Work 2
* Awesome Work 3

### Another Studio
* Film

### TV Giant
* Item 1.1
* Item 1.2
* Item 1.3
>
* Item 2.1
* Item 2.2

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

Написал так: result = result.replace(/\n?-{3,}\n?/g, ""), но этот код заменяет все ---, т.е. даже такие: abc-------abc => abcabc.

И если с оглавленим списка я ещё более менее понимаю, как его можно форматировать (хотя и не знаю, что писать), то вот как обработать элементы списка, тем более, когда там 2 и более групп - понятия не имею.

Помогите, если не решением, то советом.


Ответы (1 шт):

Автор решения: Aleksey Vaganov

Произвести нужные изменения можно при помощи потокового текстового редактора sed. Команда:

sed -r -i.back -e '/^[-]{1,}$/d; /^\s+/s/^\s+(.+)$/* \1/; /(^\s*$|^\*)/!s/^/### /;' [PATH_TO_YOUR_TXT_FILE] 

Приведенная команда сохранит исходный файл с расширением .bac

→ Ссылка