폴더의 각 txt 파일에서 "victory"문자열의 첫 번째 줄을 찾으려고합니다. 파일의 각 "승리"에 대해 해당 줄의 번호를 @num에 저장하고 파일 이름을 @filename으로 저장하려고합니다.펄의 폴더에있는 모든 파일에서 문자열의 첫 번째 항목을 찾는 방법
예 : "lalala victory 123456"파일로 시작하는 파일 "-> $ num [$ i] = 123456 및 $ filename [$ i] ="a.txt "
ARGV는 모든 파일 이름을 보유합니다. 내 문제는 내가 줄을 서서 노력하고있어 내가 뭘 잘못하고 있는지 모르겠다. 한 가지 더 - 마지막 파일에서 "승리"의 마지막 발생을 어떻게 얻을 수 있습니까 ??
use strict;
use warnings;
use File::Find;
my $dir = "D:/New folder";
find(sub { if (-f && /\.txt$/) { push @ARGV, $File::Find::name } }, $dir); $^I = ".bak";
my $argvv;
my $counter=0;
my $prev_arg=0;
my $line = 0;
my @filename=0;
my @num=0;
my $i = 0;
foreach $argvv (@ARGV)
{
#open $line, $argvv or die "Could not open file: $!";
my $line = IN
while (<$line>)
{
if (/victory/)
{
$line = s/[^0-9]//g;
$first_bit[$i] = $line;
$filename[$i]=$argvv;
$i++;
last;
}
}
close $line;
}
for ($i=0; $i<3; $i++)
{
print $filename[$i]." ".$num[$i]."\n";
}
대단히 감사합니다. :)
'마지막 occurrence' 및 태그 findfirst'있는':
테스트? 정말? – TLP