Você pode fazer com que date
faça o trabalho para você: a opção -d
permite que você especifique a data em uma "string de data legível para humanos na maior parte livre" (de man date
).
Infelizmente, o formato não é livre o suficiente para aceitar a saída hwclock
, mas funciona bem se você remover o campo final especificando frações de segundo:
date -d "$(hwclock|sed 's/ \..*$//g')"
Eu testei, mas não consegui encontrar o formato quando há zero frações de segundo, então não sei se ele mostraria o mesmo formato, por exemplo, Sat 28 Jul 2018 08:47:47 PM BST .000000 seconds
. Se não houver ponto decimal, será necessária outra substituição sed
.
Desde que ainda haja um espaço duplo após o fuso horário, o seguinte funcionará:
date -d "$(hwclock|sed 's/ .*$//g')"
Você pode fazer disso um script de shell ou uma função definida em ~/.bashrc
chamada algo como hwclockdf
(ou seja, em date
format).