Uma maneira é com o Perl. Nós lemos pedaços de sua entrada tendo definido o separador de registro de entrada como "-", como você sugere. Reformatamos a data do seu dia-mês-ano em um formulário que podemos comparar numérica e relacionalmente; viz. AAAAMMDD. Geral:
#!/usr/bin/env perl
use strict;
use warnings;
my @t = localtime();
my $today = sprintf( "%04d%02d%02d", $t[5] + 1900, $t[4] + 1, $t[3] );
local $/ = "--"; #...record separator...
while (<>) {
if (m{Last Date : (\d\d)-(\d\d)-(\d\d\d\d)}) {
my $then = sprintf( "%04d%02d%02d", $3, $2, $1 );
print if ( $then < $today );
}
}
1;
Assumindo que você não tem o script 'myfilter', você pode executar canalizando dados de entrada para o programa ou simplesmente fazendo:
$ myfilter inputdata