Substitua por sed até corresponder em uma linha

3

Eu tenho que substituir todos os "." caracteres antes do caractere "=" em todas as linhas de um arquivo. As linhas são assim:

one.two.three=something
four.five=1
six.seven=127.0.0.1
eight.nine.ten.eleven=somethingwerylong
twelve=something.with.dots

e assim por diante ...

O resultado deve ser assim:

onetwothree=something
fourfive=1
sixseven=127.0.0.1
eightnineteneleven=somethingwerylong
twelve=something.with.dots
    
por supervazi 13.04.2016 / 11:19

1 resposta

8
sed -e :1 -e 's/^\([^=]*\)\.//; t1'

t1 ramifica para o rótulo 1 se tiver havido um comando s bem-sucedido. Essa é uma das maneiras de implementar loops condicionais em sed .

Ou:

awk -F = -v OFS== '{gsub(/\./, "", $1); print}'
    
por 13.04.2016 / 11:22