使用perl,打开当前文件夹下的test.log文件,运行查找"string.sv"字符串,若匹配上该字符串,则立即打印当前的文件夹名称,并将该文件夹的名称输出到/test/case/output文件中,并关闭该文件
时间: 2024-03-29 19:40:17 浏览: 104
监控你输入的窗口名称,一旦匹配就会将其关闭。
好的,我理解了你的问题。以下是perl代码实现:
```perl
#!/usr/bin/perl
use strict;
use warnings;
# 获取当前文件夹名称
my $dir_name = ".";
$dir_name = $ENV{'PWD'} if $ENV{'PWD'};
# 打开test.log文件
open(my $fh, "<", "test.log") or die "无法打开文件: $!";
# 查找"string.sv"字符串
while (<$fh>) {
if (/string\.sv/) {
# 匹配上了,打印当前文件夹名称
print "$dir_name\n";
# 写入/test/case/output文件中
my $output_file = "/test/case/output";
open(my $out_fh, ">>", $output_file) or die "无法打开文件: $!";
print $out_fh "$dir_name\n";
close $out_fh;
last; # 终止循环
}
}
# 关闭文件句柄
close $fh;
```
该代码可以在当前文件夹下运行,查找test.log文件中是否包含"string.sv"字符串,如果匹配上了则会打印当前文件夹名称,并将该文件夹名称写入/test/case/output文件中,然后关闭该文件。
阅读全文