como remover a primeira ocorrência de 0 em mm / dd uma data usando sed?

1

Eu quero remover a primeira ocorrência de 0 em mm / dd, por ex. Eu quero fazer com que 09/09/15 pareça com 9/9/15 .

Eu tentei usar echo 09/10/15 | sed 's/^.//' , mas ele dá saída como 9/09/15 . Como posso fazer isso?

    
por Gavin 10.09.2015 / 13:33

3 respostas

2

echo 01/01/2005 | sed 's=\(^\|/\)0==g'

Se 0 for precedido pelo início da linha ou /, substitua-o por (isto é, nada ou /).

    
por 10.09.2015 / 13:41
0

Se bem entendi, você deseja remover todos os principais 0 s da string de data. Se sim, tente isto:

sed 's/0\([1-9]\)//g'

Corresponde a 0 seguido por qualquer número de 1 a 9 e os parênteses capturam esse número. O padrão inteiro é então substituído pelo número > 0 correspondente ( ).

    
por 10.09.2015 / 13:38
0
sed 's/^/ /;s/\([^0-9.]\)0*\([1-9]\)//g;s/.//' <infile >outfile

... removerá todos os zeros iniciais de todos os grupos numéricos de caracteres que contiverem pelo menos um dígito diferente de zero em uma linha.

    
por 10.09.2015 / 13:40