В Linux / UNIX:
egrep -c "\#include|\#define" <filename>
Это даст вам количество вхождений обоих шаблонов в файл. Если вы хотите его отделить:
grep -c \#include <filename>
дает счет #include
с
grep -c \#define <filename>
дает счет #define
с
grep \#include <filename>
дает все строки для #include
с
grep \#define <filename>
дает все строки для #defines
с
Если вы хотите быть модным и искушенным в Perl:
$include_count = 0;
$define_count = 0;
open SOURCE, $filename || die $!;
while(<SOURCE>)
{
next if( !~ /include/ && !~ /define/ );
$line = $_;
$orig_line = $line;
$line =~ s/^\s+//g;
next if( $line !~ /^# );
if( $line =~ /include/ )
{
$include_count++;
print "$orig_line";
}
if( $line =~ /define/ )
{
$define_count++;
print "$orig_line";
}
}
print "Define count $define_count . Include Count: $include_count\n";
Это быстрый и грязный скрипт, поэтому вы можете основывать свое решение на этом или написать его на Python / C / C ++ или любом другом языке, который вам подходит.