O pacote dateutils é ótimo para essas coisas, especificamente a ferramenta dconv
. (Quando instalado nos sistemas Ubuntu, o comando está disponível como dateutils.dconv
.)
Aqui está uma ilustração:
$ cat testfile.txt
1534888050 some text
1534888051 some more text
1534888052 text
$ dateutils.dconv -i '%s' -f '%a %b %d %T %Y' -S <testfile.txt
Tue Aug 21 21:47:30 2018 some text
Tue Aug 21 21:47:31 2018 some more text
Tue Aug 21 21:47:32 2018 text
$ dateutils.dconv -i '%s' -f '%F %T' -S <testfile.txt
2018-08-21 21:47:30 some text
2018-08-21 21:47:31 some more text
2018-08-21 21:47:32 text
$
O -S
flag é a chave; ele diz à ferramenta para operar em "modo sed" e inclui o texto que não é data na saída.
O sinalizador -i
especifica o formato da data de entrada e o sinal -f
especifica o formato da data de saída.