Re: [Ubuntu-BR] localizar padrão específico em um texto

2016-10-05 Thread Antonio Silva
Bacana Wagner! Funcionou perfeitamente. Valeu.

Abraços

Antônio

Em 4 de outubro de 2016 17:14, Wagner De Queiroz 
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 
> 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 
> > 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 
> > > > 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

Re: [Ubuntu-BR] localizar padrão específico em um texto

2016-10-05 Thread Wagner De Queiroz
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 
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 
> > 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 
> > > 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írg

[Ubuntu-BR] Dúvida sobre como fazer pesquisas em arquivos XML de NFe

2016-10-05 Thread Wagner De Queiroz
boa tarde a lista,

agora é a minha vez de pedir a ajuda a todos, eu possuo algumas pastas com
xmls de Notas fiscais e vira e mexe preciso fazer pesquisa nestas notas,
tipo, extrair por exemplo para quem foi uma nota de X valor, que duplicatas
foram para a nota Y ou qual o valor da nota Z e nem sempre meu ERP pode
responder prontamente essas informações.

Pensei em usar o grep, mas como essas XMLs não tem avanço de linhas, sai o
xml inteiro na pesquisa, tentei compreender xpath para tentar buscar pelo
xmllint mas ele nunca responde como eu espero, e fazer busca em uma pasta
cheia de notas fiscais eh terrivel.


exemplo:

eu quero saber o valor de uma nota em particular:

xmllint --xpath '/NFE/infNFE/total/ICMSTot/vProd/text()' 12345678-nfe.xml

ou

 xmllint --xpath '//vProd' 12345678-nfe.xml

não dão resultados.

Alguém tem alguma dica boa para se usar em console?


-- 
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