apenas substitua $1
e, em seguida, imprima toda a linha
$ echo '1324218770.7644 INFO etc' | awk '{$1=strftime("%c", $1); print}'
Eu tenho um programa que registra assim:
1324218770.7644 INFO, etc
Qual é o melhor programa de shell do Linux para redirecionar os timestamps para um formato legível como Sun 18 Dec 2011 15:32:50 CET?
Eu posso canalizar assim através
| cut -f 1 -d\ | awk '{print strftime("%c",$1)}'
apenas para os timestamps, mas como faço para manter o resto da linha?
Eu suponho que você deseja que a data seja alterada em linha, imprimindo o restante da linha também. Tente substituir o campo 1 pela saída de strftime()
.
$ echo "1234218770.7644 INFO etc' | awk '{$1=strftime("%c", $1); print}'
Mon 09 Feb 2009 05:32:50 PM EST INFO etc