perl如何批量提取所有文件固定位置内容到另一个文件 50
1个回答
展开全部
use strict;
&findfile;
sub findfile
{
my $some_dir = "c:/tmp/a";
opendir(my $dh, $some_dir) || die "Can't open $some_dir: $!";
while (my $fn = readdir $dh) {
next if ($fn eq '.'); # 跳过两个系统目录
next if ($fn eq '..');
next if ($fn =~ /^~/); # 看情况是否需要跳过其它文件
next if (!($fn =~ /\.txt$/));
print "正在分析文件[$fn]\n";
&check_file("$some_dir\/$fn"); # 依次检查每一个文件
}
closedir $dh;
}
sub checkfile
{
my $fn = shift;
open FILE, "<$fn";
foreach my $line (<FILE>)
{
chop($line);
next if ($line !~ /^检测/); # 跳过不是“检测”两字开头的行
if ($line =~ /# (.*V) #/) # 判断是否有"# xxxV #" 字样的字符串
{
#如果有,则$1的内容为上面小括号的内容,如“3.27V”
my $data = $1;
# 然后你想将$data放哪?
print "[$data]\n";
}
}
close FILE;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询