Como posso apagar o primeiro ponto antes do primeiro número?

1

Como remover o primeiro ponto antes do primeiro número?

Por exemplo

Eu tenho o seguinte arquivo

  more file


  Version …………2.465.76.8.332

Eu quero apenas o número da versão - 2.465768.332

    
por terdon 18.03.2014 / 12:01

3 respostas

2

Supondo que remover os pontos do número da versão é um erro de digitação.

sed pode facilmente fazer o trabalho:

echo 'Version …………2.465.76.8.332' | sed 's/^[^0-9]*//'

Para extrair apenas o número da versão de um arquivo, o número on é a primeira linha que começa com 'Version' e nada segue o número da versão, você poderia fazer:

sed -n '0,/^Version/ s/^Version[^0-9]*//p' file
    
por 18.03.2014 / 12:04
1

Usando sed , você poderia dizer:

sed -n '/Version/{s/^[^0-9]*//;s/\([^.]*\.[^.]*\)\.//p}' filename

Para sua entrada de exemplo, ela produziria:

2.46576.8.332

Como mencionado no comentário, não está claro qual é a saída desejada. Se for a saída esperada conforme mencionado no corpo da pergunta, você pode usar awk para melhorar a legibilidade:

sed -n '/Version/{s/^[^0-9]*//p}' inputfile | awk -F. '{print $1,$2$3$4,$5}' OFS=.

que produziria:

2.465768.332
    
por 18.03.2014 / 12:30
1
grep -oP 'Version.*?\K[\d.]+$' filename
    
por 18.03.2014 / 13:03