Получить все комментарии из большого проекта C - PullRequest
2 голосов
/ 26 мая 2011

У меня есть несколько каталогов, заполненных кодом C, и я хочу получить все комментарии / * * / из всего кода (файлы .h и .c) во всех каталогах и подкаталогах, поместив эти комментариивсе в текстовом файле (вещи не должны быть особенно упорядоченными, просто поместите их туда).Как я могу это сделать?

Любое решение, которое может быть написано с помощью скриптов, было бы замечательно ...

Ответы [ 2 ]

4 голосов
/ 26 мая 2011

Проверьте этот ответ для решения Python. Фрагмент Python для удаления комментариев C и C ++

0 голосов
/ 26 мая 2011

Вот скрипт sed, который печатает все комментарии / * * /, но он выводит «комментарии» в виде строк (как указал Томас Мэтьюз) и не будет печатать // комментарии.Не знаю, что происходит с вложенными комментариями.

/\/\*/{
    bc
:a
    s/\///;Tz
:c
    s/^[^\/]*//;tb;Tb
:b
    s/^\/\*/\/\*/;Ta
:e
    s/\*\//\*\//;Td;s/\*\//\*\/\n/;x;tg
:g
    s/\(.\)/\1/;Tf;p;s/^.*$//
:f
    x;P;s/^.*\n//;bc
:d
    H;n;be
:z
}

Чтобы распечатать все комментарии для всех файлов в каталоге, используйте его следующим образом:

for i in `find -iname "*.c" -or -iname "*.h"`; do echo ">>> $i"; sed -nf the.script.from.above < $i; done > output.txt

Это не будет обрабатывать имена файловс пробелами в нем и вывод не будет красивым!

Приветствия

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...