又写了一段Perl,帮同事减轻负担....就是搜索pas文件,提取信息而已。
use warnings; use strict; use File::Find; $/ = undef; find(\&subprocess,"E:\\GpsClient"); sub subprocess { processfile($_) if /.pas$/; }; sub processfile { open(FH,shift); my $contents = <FH>; my $DBTableName = $1 if $contents =~ /DBTableName\s*:=\s*\'(.*)\'/i; my $DBTableCHNName = $1 if $contents =~ /DBTableCHNName\s*:=\s*\'(.*)\'/i; my %dict = $contents =~ /AddField\s*\(\'(.*?)\'\s*,\s*\'(.*?)\'/gi ; if ($DBTableName) { print "$DBTableName:($DBTableCHNName) \n"; foreach my $key ( keys %dict ) { print 'Field',"\t",$key," \t ",$dict{$key},"\n"; } print "-" x 32,"\n\n"; }; close(FH); }
运行方式 xx.pl > c:\1.log