好吧,我之前已经询问过如何检查文件中的每个#include
。有人可以给我一个例子来检查从文件开头到结尾有多少#define
个?
我一直在尝试但没有成功。
答案 0 :(得分:0)
在Linux / UNIX上:
egrep -c "\#include|\#define" <filename>
这将为您提供文件中两种模式的出现次数。如果你想要它分开:
grep -c \#include <filename>
给出#include
s
grep -c \#define <filename>
给出#define
s
grep \#include <filename>
给出了#include
s
grep \#define <filename>
给出了#defines
s
如果你想在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 ++或您认为合适的任何其他语言编写解决方案。