O % móduloPOSIX
inclui a função strftime
, que permite que os caracteres do especificador de conversão strftime(3)
viam o modelo de tempo desejado:
% perl -MPOSIX=strftime -E 'say strftime "[%F %T]", localtime(time)'
[2011-02-17 10:55:37]
%
Portanto, no seu caso, faça perl -MPOSIX=strftime -e ...
e, em seguida,
printf( ($line=~/^\[\s*(\d+)\.\d+\](.+)/) ? ( "[%s]%s\n", strftime("%F %T", localtime(time - $uptime + $1)), $2 ) : $line )
Você pode precisar do modelo %Y-%m-%d %H...
mais detalhado se seu strftime(3)
não tiver %F
, consulte strftime(3)
para obter detalhes.