Removendo zeros à esquerda da saída de data

35

Eu criei um alias do comando date para exibir a data no seguinte formato:

2013.06.14.12.10.02

usando este comando:

alias date = date +"%Y.%m.%d.%H.%M.%S"

Tudo funciona bem, exceto que eu quero remover os zeros à esquerda da saída.

Não há como fazer isso alterando o formato. Acho que isso só pode ser feito canalizando a saída para outros comandos como sed e awk .

O sistema operacional que estou executando é o Ubuntu 12.04.2 LTS.

    
por easl 14.06.2013 / 09:15

2 respostas

59

De acordo com o GNU date manpage:

   By default, date  pads  numeric  fields  with  zeroes.   The  following
   optional flags may follow '%':

   -      (hyphen) do not pad the field

Portanto, você pode fazer

alias date="date '+%Y.%-m.%-d.%-H.%-M.%-S'"

e receba

2013.6.14.3.19.31
    
por 14.06.2013 / 09:20
3

Parece bobo, mas como essa questão está marcada com /sed , aqui está uma maneira de fazer isso com sed, como você mencionou :)

alias date='date +"%Y.%m.%d.%H.%M.%S" | sed "s/^0*//g; s/\.0*/./g"'
    
por 30.10.2017 / 22:14

Tags