Talvez eu tenha aprendido mais te ajudando do que tentando fazer sozinho... esse negocio de grupos de regex abriu um leque enorme de coisa boa pra fazer no gedit!
Em 5 de outubro de 2016 15:31, Antonio Silva <aolinto....@gmail.com> escreveu: > Bacana Wagner! Funcionou perfeitamente. Valeu. > > Abraços > > Antônio > > Em 4 de outubro de 2016 17:14, Wagner De Queiroz < > wagnerdequei...@gmail.com> > escreveu: > > > Olá Antonio, foi um prazer ajudar. > > > > Só para complementar, eu fiquei em dúvida sobre como usar um certo filtro > > de regex para mexer nas cordenadas de gps de seu exemplo, > > > > eu estava usando na busca > > -\d\d\,\d\d\d\d e botão localizar achava corretamente as coordenadas. > > mas fiquei na dúvida de como colocar o texto substituto. > > > > pois se colocar um ponto (.) as cordenadas viram apenas . > > > > Então eu postei uma dúvida na lista do gedit e 3 minutos depois alguem na > > lista mandou uma solucao matadora: > > > > no campo pesquisar, coloque: (\d\d)\,(\d\d\d\d) e no campo substituir por > > coloque \1.\2 > > > > os parenteses da busca transformam aquele filtro num grupo que pode ser > > referenciado por \1 o segundo grupo \d\d\d\d seria o \2 da formula. > > > > o \d representa um digito de zero a 9 (0 a 9) > > > > Caso vc queira que aquele digito seja um numero mais restrito, digo: > > a cordenada seja entre 20 e 30 vc poderia usar [2-3][0-9] > > > > Aqui no meu teste funcionou. acho que vai funcionar ai também. > > > > > > > > Em 4 de outubro de 2016 16:14, Antonio Silva <aolinto....@gmail.com> > > escreveu: > > > > > Caros Wagner e Adelino, obrigado pela atenção. > > > > > > Abraços > > > > > > Antônio > > > > > > Em 4 de outubro de 2016 12:30, João Adelino da Silva <j...@bsd.com.br> > > > escreveu: > > > > > > > Talvez não seja tão elegante, mas eu faria da seguinte forma (tudo no > > > Gedit > > > > mesmo): > > > > > > > > INÍCIO => ('12457','-48,2365','-23,3256','ASD') > > > > LOCALIZAR => ',' > > > > SUBSTITUIR => # > > > > > > > > RESULTADO => ('12457#-48,2365#-23,3256#ASD') > > > > LOCALIZAR => , > > > > SUBSTITUIR => . > > > > > > > > RESULTADO => ('12457#-48.2365#-23.3256#ASD') > > > > LOCALIZAR => # > > > > SUBSTITUIR => ',' > > > > > > > > RESULTADO FINAL => ('12457','-48.2365','-23.3256#ASD') > > > > > > > > João Adelino da Silva > > > > +55 48 9682 9147 > > > > > > > > Em 4 de outubro de 2016 11:43, Wagner De Queiroz < > > > > wagnerdequei...@gmail.com> > > > > escreveu: > > > > > > > > > No Gedit existe uma extensão que permite que voce use regex. > > > > > > > > > > http://askubuntu.com/questions/671745/gedit-search- > > > > > and-replace-with-regular-expressions > > > > > > > > > > eu não me atentei a isso, pois aqui nem sempre o gedit aceita > minhas > > > > regras > > > > > de regex. > > > > > > > > > > Em 4 de outubro de 2016 11:39, Antonio Silva < > aolinto....@gmail.com> > > > > > escreveu: > > > > > > > > > > > Olá, > > > > > > > > > > > > Apenas para dar um retorno, por ora resolvi a questão fazendo no > > > gedit > > > > > > vários localizar/substituir mesmo. > > > > > > > > > > > > Como tratam-se de dados de lat/lon fui fazendo do por grau: -24, > > para > > > > > -24. > > > > > > ... minha faixa era de 20 a 30°S / 40 a 49°W. Com 21 > > > > localizar/substituir > > > > > > resolvi o problema. > > > > > > > > > > > > Mas se alguém souber uma maneira mais elegante de fazer este > > > trabalho, > > > > > por > > > > > > favor avise. > > > > > > > > > > > > Abraços > > > > > > > > > > > > Antônio > > > > > > > > > > > > Em 4 de outubro de 2016 11:14, Antonio Silva < > > aolinto....@gmail.com> > > > > > > escreveu: > > > > > > > > > > > > > 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 < > > > > > > > wagnerdequei...@gmail.com> 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 < > > > aolinto....@gmail.com > > > > > > > > > > > >> 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 > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > 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 > > > > > > > > > > > -- > > 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 > > > > > > -- > Antônio Olinto Ávila da Silva > Biólogo / Oceanógrafo > Instituto de Pesca (Fisheries Institute) > São Paulo, Brasil > -- > 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