Você pode escrever um pequeno script que analise as strings de data e classifique por data. Algumas das strings de data não dizem qual ano, então eu acho que "a ocorrência mais próxima antes de o arquivo de entrada ter sido escrito" é um palpite sensato.
Prova de conceito rapidamente reunida:
#!/usr/bin/perl
use strict;
use Time::ParseDate;
sub extracttimestamp
{
my $line = shift;
my $referencepoint = shift;
if ($line =~ /^(?:\S+\s+){5}(\S+\s+\S+\s+\S+)\s+/)
{
return parsedate($1, NOW => $referencepoint, PREFER_PAST => 1);
}
print "FAILED TO PARSE $line\n";
return -1;
}
my $filename = $ARGV[0];
my $mtime = (stat($filename))[9];
open FILE, "<$filename";
my @list = <FILE>;
close FILE;
my @sorted = sort { extracttimestamp($a, $mtime) <=> extracttimestamp($b, $mtime) } @list;
foreach my $x (@sorted)
{
print $x;
}