Espero que você possa usar o perl
$ dt='perl -e 'print substr(scalar localtime(time-86400),0,10)''
$ echo "$dt"
Sat Dec 5
$ grep "$dt" <logfile>
No código perl
acima, time
retorna o tempo atual em segundos desde a época. Para obter ontem, subtrair 86400 segundos e escalar imprime em formato legível. Eu suponho que você só precisa ontem em DAY MON DT
format, então você poderia grep todas as linhas correspondentes naquele dia, independentemente do tempo. Para apenas pegar campos obrigatórios, use substr
para imprimir os primeiros 10 caracteres e salvar em dt
variable. Você poderia usar essa variável com grep
.