Tenho certeza de que há um caso extremo para o uso do GMT + 24 no cálculo da data ( data matemática no AIX é difícil ), mas aqui está uma adaptação mínima do seu script que gera strings para o awk usar para o padrão correspondente à data de hoje e à data de ontem no formato mmddhhmmyy que o AIX errpts usa:
tdy='date +'%m%d''
tdyy='date +%y'
ydy='TZ=GMT+24 date +%m%d'
ydyy='TZ=GMT+24 date +%y'
today="${tdy}....${tdyy}"
yesterday="${ydy}....${ydyy}"
awk -v today="$today" -v yesterday="$yesterday" \
'$2 ~ today || $2 ~ yesterday' /tmp/errptoutput.txt > /tmp/errptoutput1.txt
Um erro de digitação que notei estava em:
etdy='date +'%m%d%%y''
em que você tinha um %
extra. Também alterei o formato das sequências de caracteres tdy
e etdy
date, de modo que elas apenas exibissem o mês e o dia. Minhas outras adições foram reunir o ano de hoje e o de ontem e atribuir as variáveis today
e yesterday
usando os valores de mês / dia anterior, os períodos da expressão regular para corresponder a qualquer caractere nessas posições e, em seguida, os anos. / p>
Vejo que você está analisando um arquivo de saída existente, mas você também pode estar interessado nos -s
e -e
sinalizadores para errpt
, que informam errt para gerar apenas entradas no intervalo de datas especificado, por exemplo:
errpt -s 0731000016 -e 0801000016
Mostraria todas as entradas erradas começando em 31 de julho de 2016 e terminando em 1º de agosto de 2016. Para limitar ainda mais a saída a erros de hardware, use o sinalizador d
:
errpt -s 0731000016 -e 0801000016 -d H
Consulte o link ou sua página de manual local para saber mais detalhes.