- 论坛徽章:
- 0
|
目前有很多数据需要处理,需要得到文件夹目录下所有文本的倒数第四行的第一个数字,判断其是否<=8,是则拷贝至目标文件夹。
现在可以得到文件的行数$count,计划通过读取$count-3行的第一个数值,进行判断,以达到上述目的。
但是不知道该怎么往下写了,肯定大神帮忙指点一下。
非常感谢!
文件内容大致如下:
...
前面n行
...
Overall Ring count:
Ring size Number
3 2
4 3
5 2
6 10
7 4
Average Ring size: 6.00
- #!/usr/bin/perl
- use warnings;
- use File::Spec::Functions;
- use File::Copy;
- $searchdir="C:/users/61068/Desktop/test";
- $destinationdir="C:/users/61068/Desktop/test/results";
- opendir(DIRHANDLE,$searchdir) || die "Cann't open $searchdir !";
- while($file=readdir DIRHANDLE) {
- if (-d "$searchdir/$file") {
- print "$searchdir/$file is a directory!\n";
- } else {
- open(FH, "$searchdir/$file") || die "cann't open $searchdir/$file !\n";
- my $count = 0;
- while(<FH>){
- $count += 1;
- }
- print "$file have $count lines.\n"; #得到文件的行数
- #读取倒数第四行的第一个数字
- #判断数字是否<=8
- #是则拷贝文件至$destinationdir
- }
- }
- close(FH);
- closedir(DIRHANDLE);
复制代码
|
|