Итерация по регулярным выражениям с помощью Sed и Bash? - PullRequest
0 голосов
/ 27 сентября 2010

Как я могу перебирать многострочные совпадения регулярных выражений, используя sed и bash? Я пытаюсь сгенерировать несколько быстрых документов из комментариев в файле, например так:

/**
 * @name myFun
 * @return {int}
 */

Я могу извлечь каждый блок комментария, используя sed -n -e '/\/\*\*$/,/\*\/$/p', но теперь я бы хотел вставить каждое совпадение в массив bash, чтобы позже я смог разобрать детали. Спасибо.

Ответы [ 2 ]

0 голосов
/ 27 сентября 2010

Я думаю, я бы искал инструмент для написания сценариев - я бы взял Perl, но Python, вероятно, тоже справится с этим. Я бы, вероятно, отбросил весь исходный файл, а затем использовал бы многострочное регулярное выражение для сбора комментариев.

Причина, по которой вы не пытаетесь сделать это в sed plus bash, заключается в том, что sed будет выводить N-строчные комментарии, которые вам затем придется разделить - и это будет сложно.

0 голосов
/ 27 сентября 2010

Я думаю, что вам, вероятно, было бы лучше использовать Doxygen .

Кстати, ваша sed команда может быть более удобочитаемой при использовании альтернативных разделителей:

sed -n -e '\|/\*\*$|,\|\*/$|p'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...