我有一个包含路径列表的文本文件 例如path.txt
/project/results/ver1/
/project/results/ver2/
/project/results/ver1000/
在每个路径中它都包含一个名为report.txt的文件。
我正在编写一个perl程序来逐行读取path.txt文件并下降到路径并grep文件report.txt。
我需要使用grep函数在文件中捕获关键字
然后我将我的结果提取到另一个文本文件。
我尝试编写perl程序,但它似乎不起作用。 请原谅我,因为我还是编程新手。
my $output = ("output.txt");
my $path = ("path.txt");
open (OUT,'>',$output) or die;
open (PATH, '<',$path) or die;
foreach (<PATH>){
chomp;
$path1 = $_;
chdir ("$path1");
my $ans = grep 'Total Output Is' , report.txt;
print OUT "$ans\n";
chdir($pwd);
}
答案 0 :(得分:1)
my $output = "output.txt";
my $path = "path.txt";
open (OUT, '>', $output) or die $!;
open (PATH, '<', $path) or die $!;
while (my $path1 = <PATH>) {
chomp $path1;
open my $fh, "<", "$path1/report.txt" or die $!;
/Total Output Is/ and print OUT $_ while <$fh>;
close($fh);
}
close(OUT);
close(PATH);
答案 1 :(得分:0)
为什么不使用简单明了的普通旧bash
:
while read path; do
grep 'Total Output Is' "$path"/report.txt
done < path.txt > output.txt