Seu arquivo .bash_history
não se parece com isso, apenas a exibição history
. O formato no arquivo é #
e um único número (segundos desde a época) em uma linha separada. E para entradas armazenadas (e, portanto, lidas) sem esse valor de tempo, a tela mostra quando o seu shell atual lê o histórico, geralmente quando o shell é iniciado, não na hora atual.
Se você editar o arquivo para inserir #
e o número de um horário conhecido antes de cada entrada que não tenha um valor #seconds
real, você poderá configurar um alias ou função (ou mesmo script) para sed
(ou awk
etc) que o tempo (formatado) fora da exibição.
E (pelo menos nas versões que tenho para entregar, 4.1.2 e 4.3.11) se você editar o arquivo para inserir #0
especificamente, ele aparentemente considera inválido e exibe ??
(dois pontos de interrogação) em vez de o tempo formatado, que não é o que você pediu, mas pode estar perto o suficiente para o trabalho do governo.
Para economizar tempo (e erros), você pode fazer isso automaticamente com
perl -ni.bak 'if /^#/ print $_.<> else print "#seconds".$/.$_' .bash_history