我正在编写一个脚本,其中我有 3 级目录,如下所示:
LOG
├── a.txt
├── b.txt
└── sdlog
├── 1log
│ ├── a.txt
│ └── b.txt
└── 2log
├── a.txt
└── b.txt
文件名相同,但大小总是不同。我必须根据这些文件的大小比较LOG
dir 和dir 中的内容。1log
我们2log
不会做任何事情。
我已经编写了打印文件名但无法完成上述任务的脚本:
#!/usr/bin/perl
use strict;
use warnings;
use File::Find;
use File::Basename;
my $new_file_name;
my $start_directory = "C:\\logs";
find({ wanted => \&renamefile }, $start_directory);
sub renamefile
{
if ( -f and /\.txt$/ )
{
my $file = $_;
open (my $rd_fh, "<", $file);
LINE: while (<$rd_fh>)
{
if (/<(\d)>/i)
{
close $rd_fh;
print"$file\n";
#print" Kernal-> $file\n";
last LINE;
}
if (/I\/am_create_activity/i)
{
close $rd_fh;
print"$file\n";
#print" EVENT-> $file\n";
last LINE;
}
}
}
}