Olá Wagner, obrigado pelas dicas.

É um arquivo com script SQL gerado pelo programa shp2pgsql que transforma
um shapefile em um código SQL para importação no Postgres.

Entre as linhas com o padrão que indiquei existem outras com SQL, aí a
solução do Calc não daria certo.

Também não entendo nada de python, vou ler mais sobre o sed.

Adoraria poder apenas falar: computador localize '-**,****' e substitua por
'-**.****'.  O capt. Kirk não devia ter estes problemas, já o capt. Tux ...
;-))

Valeu, abraços!

Antônio


Em 4 de outubro de 2016 09:49, Wagner De Queiroz <[email protected]>
escreveu:

> eu tenho duas sugestões:
>
> 1. Isso tem cheiro de um arquivo CSV que pode ser aberto pelo libreoffice.
> Importe o arquivo lá, dizendo para separar com virgula e texto entre aspas
> simples. Como todos os campos estão entre aspas simples, vc terá sempre nas
> mesmas colunas os números com vírgula que devem ser importados como texto
> (o que é bom) Selecione uma coluna de cada vez, copie o texto e abra no
> gedit e troque virgula por ponto e cole de volta no libreoffice. salve o
> csv e seja feliz.
>
> a Segunda opção é voce criar um script python e fazer a substituicao linha
> a linha, o python tem libs para csv. eu sei que é possível, mas eu levaria
> um bom tempo para fazer isso pois não sou bom de python.
>
> A terceira opção é usar o sed.
>
> http://aurelio.net/sed/sed-dicas.txt
>
> Veja o exemplo abaixo:
>
> # pegando apenas cadeias que estão dentro de parênteses
>
> echo 'windows (linux)(Linux), mac (unix) os/2' |
> sed -n 's/[^(]*\(([^)]*)\)[^(]*/\1/gp'
>
> resultado:
> (linux)(Linux)(unix)
>
>
> Pode notar que
> se pode adaptar para pegar as cadeias dentro as aspas simples e depois
> disso vc pode usar o s para substituir dentro as aspas a virgula pelo
> ponto. Não sou bom de sed para opinar melhor, mas acho que uma destas três
> soluções deverá resolver seu problema.
>
> Em 4 de outubro de 2016 09:29, Antonio Silva <[email protected]>
> escreveu:
>
> > Caros
> >
> > Texto um arquivo texto enorme que foi gerado com um problema de pontos e
> > vírgulas.
> >
> > Onde deveriam ser pontos decimais existem vírgulas decimais. O formato da
> > linha (são milhares) é assim :
> >
> > ('12457','-48,2365','-23,3256','ASD')
> >
> > -48,2365 e -23,3256 deveriam ter pontos.
> >
> > Utilizando o gedit ou o Write eu consigo localizar os números a serem
> > modificados com "-..,...." mas não consegui entender como fazer para
> > subsutituir apenas a vírgula que está no conjunto localizado por ponto.
> >
> > Agradeço muito qualquer orientação.
> >
> > Abraços
> >
> > Antônio Olinto
> > --
> > Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece
> >
> > Lista de discussão Ubuntu Brasil
> > Histórico, descadastramento e outras opções:
> > https://lists.ubuntu.com/mailman/listinfo/ubuntu-br
> >
>
>
>
> --
> Wagner de Queiroz
> Be free with Linux
> --
> Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece
>
> Lista de discussão Ubuntu Brasil
> Histórico, descadastramento e outras opções:
> https://lists.ubuntu.com/mailman/listinfo/ubuntu-br
>
-- 
Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece

Lista de discussão Ubuntu Brasil
Histórico, descadastramento e outras opções:
https://lists.ubuntu.com/mailman/listinfo/ubuntu-br

Responder a