检索来自大型C项目的所有注释

| 我有几个充满C代码的目录,我想从所有目录和子目录中的所有代码(.h文件和.c文件)中检索所有/ * * /注释,并将这些注释全部放在文本文件(事物不需要特别有条理,只需将其全部塞入其中即可)。我怎样才能做到这一点? 任何可编写脚本的解决方案都很棒...     
已邀请:
检查此答案以获取python解决方案。 Python片段删除C和C ++注释     
这是一个sed脚本,它打印所有/ * * /注释,但它将以字符串形式打印\“ comments \”(由Thomas Matthews指出),并且不会打印//注释。不知道嵌套注释会发生什么。
/\\/\\*/{
    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
这将无法处理其中包含空格的文件名,并且输出将不会很漂亮! 干杯     

要回复问题请先登录注册