first commit
This commit is contained in:
69
rom_analyse/anal.pl
Normal file
69
rom_analyse/anal.pl
Normal file
@@ -0,0 +1,69 @@
|
||||
#!/usr/bin/perl -w
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
use File::Find qw(finddepth);
|
||||
use File::Slurp;
|
||||
use Data::Printer;
|
||||
use Digest::MD5 qw(md5 md5_hex md5_base64);
|
||||
|
||||
#sudo mount -t cifs //gw004/Versaflow /media/versashare -o username=administrator,password=8-Tung,domain=mlands
|
||||
my @f = read_file('missing_bios_report.txt');
|
||||
my $md = {};
|
||||
write_file('anal.txt');
|
||||
write_file('doppel.txt');
|
||||
my $bios = '';
|
||||
for my $l ( @f ) {
|
||||
$l = $l =~ s/\R//r ;
|
||||
if ( $l =~ /Path\: (.*)/ ) {
|
||||
$bios = $1;
|
||||
} elsif ( $l =~ /^ (................................)/ ) {
|
||||
$md->{$1} = $bios;
|
||||
# append_file('anal.txt', "$1 - $bios\n")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
my $ctx = Digest::MD5->new;
|
||||
my $share = '/mnt/d/Konsolen/BIOS';
|
||||
#my $share = '/media/versashare/versaflow1/Protocol/';
|
||||
|
||||
my $multimd5 = {};
|
||||
my @analyse;
|
||||
|
||||
finddepth( sub {
|
||||
return if($_ eq '.' || $_ eq '..'|| $_ eq '.keep' );
|
||||
|
||||
if ( -f $File::Find::name ) {
|
||||
open(my $fh, '<', $File::Find::name) or die "cannot open file $File::Find::name";
|
||||
$ctx->addfile($fh);
|
||||
my $m = $ctx->hexdigest;
|
||||
if ( $multimd5->{$m} ) {
|
||||
my @temp = @{$multimd5->{$m}};
|
||||
push @temp, $File::Find::name;
|
||||
$multimd5->{$m} = \@temp;
|
||||
} else {
|
||||
my @temp = ( $File::Find::name );
|
||||
$multimd5->{$m} = \@temp;
|
||||
}
|
||||
|
||||
if ($md->{ uc $m }) {
|
||||
push @analyse, "$md->{ uc $m } <- $File::Find::name";
|
||||
}
|
||||
|
||||
close($fh);
|
||||
}
|
||||
}, $share);
|
||||
|
||||
|
||||
for my $k ( sort @analyse ) {
|
||||
append_file('anal.txt', "$k\n")
|
||||
}
|
||||
|
||||
for my $k ( keys %{$multimd5} ) {
|
||||
if ( scalar @{ $multimd5->{$k} } > 1 ) {
|
||||
for my $i ( @{ $multimd5->{$k} } ) {
|
||||
append_file('doppel.txt', "$k - $i\n")
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user