removendo cada um. depois] aparecem em uma linha no arquivo de texto completo

2

Eu tenho um arquivo no qual preciso eliminar. depois do] em cada linha

por exemplo

xyz[1.2]35.23
xyz[1.2.3]35.234

saída deve ser

xyz[1.2]3523
xyz[1.2.3]35234
    
por Guest5 20.08.2014 / 14:15

2 respostas

2

Para remover os pontos após o mais à direita ] :

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

Ou:

awk -F']' -vOFS=']' 'NF>1 {gsub(/\./,"",$NF)};1'

Ou:

perl -pe 's/.*\]\K.*/$&=~s|\.||gr/e'

Para remover após ] , independentemente de haver outros ] à direita.

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

Ou:

perl -pe 's/.*?\]\K.*/$&=~s|\.||gr/e'
    
por 20.08.2014 / 14:19
1

com perl :

$ perl -pe 's/(?<=])\d+\K\.//g' file
xyz[1.2]3523
xyz[1.2.3]35234
    
por 20.08.2014 / 14:24