我写了一个脚本来匹配模式并返回文件声明
#!/usr/bin/perl
use strict;
use warnings;
my $file = '/home/Sidtest/sid.txt';
open my $info , $file or die " Couldn't open the $file:$!";
while( my $line = <$info>) {
if ($line =~ m/^#LoadModule ssl_module/) {
print "FileName =",$file," Status = Failed \n";
}
elsif ($line =~ m/^LoadModule ssl_module/) {
print "FileName =",$file," Status = Passed \n";
}
}
close $info;
因此,现在我试图修改此脚本以使其可用于同一目录下的多个文件。我还没有成功做到这一点。任何人都可以帮助我如何使它适用于目录中任意数量的文件。
这将读取每个文件,./directory
并读取每个文件,并打印出每一行。
可以将print语句更改为print if /match/
,或任意更改:
my @dir = <directory/*>;
foreach my $file (@dir){
open my $input, '<', $file;
while (<$input>){
print "PASS: $_\n" if m/^#LoadModule ssl_module/;
[...]
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句