Como posso classificar uma lista de strings por número
Um fácil, sem dúvida para você ...
Tenho uma lista de nomes de arquivos que são assim;
fw_d.log.1.gz
through
fw_d.log.300.gz
Quando eu uso esse bloco de código abaixo, ele quase o classifica da maneira que eu quero, mas não exatament
#!/usr/bin/perl -w
my $basedir = "/var/log";
my @verdir = qw(fw_d);
my $fulldir;
my $configs;
my $combidir;
foreach $combidir (@verdir) {
$fulldir = "$basedir/$combidir";
opendir (DIR, $fulldir);
my @files = grep { $_ ne '.' && $_ ne '..' && $_ ne 'CVS' readdir DIR;
closedir (DIR);
@files1 = sort {$a cmp $b}(@files);
foreach my $configs (@files1) {
print "Checking $configs\n";
system("less $basedir/$combidir/$configs | grep \'.* Group = , Username = .* autheauthenticated.\' >> output.log" );
}
}
aqui é uma saída de trecho
Checking fw_d.log
Checking fw_d.log.1.gz
Checking fw_d.log.10.gz
Checking fw_d.log.100.gz
Checking fw_d.log.101.gz
Checking fw_d.log.102.gz
Como você pode ver, quase parece que eu estava esperando .... Alguém tem alguma sugestão sobre a leitura ou um trecho de código que eu possa usa
Desde já, obrigado
Steve.