Entrar
Usuário novo? Cadastre-se
shell-script · Lista brasileira sobre Linux Shell Script
? Você já é um associado? Entre no Yahoo!

Dicas

Você sabia...
Você pode ordenar suas mensagens por data? Basta clicar no link da coluna data. Suas preferências serão lembradas para que você não precise fazer isso novamente sempre que retornar.

Mensagens

  Ajuda
Avançado
Ajuda Rastreamento Correios   Lista de mensagens  
Responder | Encaminhar Mensagem #29584 de 30429 |
Re: [shell-script] Re: Ajuda Rastreamento Correios

Fala Nander,
Não estou chamando a tua atenção, mas te dando uma dica: os Correios são
grande usuários de Sw Livre e, portanto, deve ter um monte de profissionais
de lá nesta lista.

Somente retificando uma informação que rolou, o default do $IFS não é só
espaço em branco. É <espaço> <tab> e <enter>.

Se vc quer estudar direto o funcionamento do IFS, faça-o
aqui<https://wiki.softwarelivre.org/TWikiBar/TWikiBarPapo005#Inter_Field_Separat\
or_Tabajara_I
>
.
--
Abraços,
Julio
Cursos de Shell e Zenity?

- Em SP ligue (11) 2125-4747;

- Em DF ligue (61) 3223-3000;

- No RJ darei um treinamento em 23, 24 e 25/07 (p/ detalhes ligue (21)
2561-0867);
- Turmas fechadas em outras cidades ligue (21) 8112-9988


2009/7/9 Ernander (Nander) <ernander@...>

>
>
> Ok !!!
>
> Como te disse Comprei o Livro do Julio... Mas ele veio com defeitos e o
> Devolvi. E como o novo chegou to indo aos poucos e testando, mas vou pular
> para a parte do IFS
>
> valeu mesmo!
>
> P.S o Site dos Correios é um Lixo mesmo . ....
>
> Att
>
> Ernander
>
> 2009/7/9 Cristiano Ferrari <boxferrari@... <boxferrari%40gmail.com>>
>
> >
> >
> > --- Em
shell-script@...<shell-script%40yahoogrupos.com.br><shell-script%
> 40yahoogrupos.com.br>,
>
> > "Ernander (Nander)" <ernander@...> escreveu
> >
> > >
> > > Bom dia A Todos!
> > >
> > > Primeiramente gostaria de pedir Desculpas pela gafe do e-mail em html.
> E
> > > para me redimir todos os exemplos que darei são impreterivelmente no
> > > pastebin. Segundo que eu estive fora e não pude responder em tempo as
> > > atenções ao meu problema.
> > >
> > > Voltando ao assunto, estou comendo ER's para tentar enten der e fazer
> > tudo
> > > para obter um melhor resultado. A Solução do Cristiano Ferrari, como
> > sempre
> > > um grande colaborador da Lista, ajudou muito mas com o "head -n 2"
> estava
> > > pegando uma linha a mais, o que foi consertado com um "head -n 1" (
> > basico
> > > he he ) .
> > >
> > > Ate agora Bakana! O problema Agora é :
> > >
> > > como recebo um arquivo com as movimentações mensais desta forma:
> > >
> > > ver 1º Exemplo do pastebin
> > >
> > > preciso pegar o nome do Cliente (2º Campo), data da postagem (6º
> campo),
> > > numero da encomenda (7º campo) e jogar junto com o retono da
> verificação
> > > junto ao site dos correios a Data(1º campo de retorno), hora(segundo
> > campo
> > > de retorno) e o Status da encomenda( último campo de retorno) ( vide 2º
> > > exemplo pastebin).
> > >
> > > Nisso montando a Seguinte saída:
> > >
> > > Vide 3 exemplo pastebin
> > >
> > > Bom ate então, com a ajuda de vocês a tarefa parecia simples mas quando
> > me
> > > deparei que tem cidade com um nome maior que do de DOM PEDRO PRIMEIRO,
> e
> > que
> > > não conseguia buscar com um padrão o Status e nem o nome do Cliente
> pois
> > o
> > > numero de espaços é enorme e quase não é mensurável.
> > >
> > > Como fazer para pegar a String com espaços tanto no nome do Cliente (
> > > Arquivo de entrada) e do so Status na pesquisa do site ( sabendo que
> tem
> > > Cidades com nomes muito grandes)
> > >
> > > o meu simplório script segue:
> > >
> > > Vide exemplo 4 do pastebin:
> > >
> > > Se eu jogo o resultado da busca no site em uma variável RESULTADO da
> > > busca no site e tento pegar somente o que me interessa assim:
> > >
> > > echo $RESULTADO | awk '{ print $1 ";" $2 ";" $4 }'
> > >
> > > Não Consigo pegar Somente o Status pois tenho Status Diversos como
> > entregue
> > > e Aguardando retirada. O mesmo ocorre qdo tento pegar o nome do Cliente
> > que
> > > tem espaços. ja no caso do Cliente eu poderia remover os Espaços do
> > Arquivo
> > > e trocar por UNDERLINE mas como proceder no retorno do Site?
> > >
> > > Julio, como estou comendo o Seu LIVRINHO ( HE HE HE ), Aliás muito bom
> e
> > > estou engatinhando nas ER's poderia me explicar a Sua onlinER ? pois
> não
> > > funcionou aqui comigo. Quando vc se refere a arquivo na ER:
> > >
> > >
> > > grep -A2 '[0-3][0-9]/[0-1][0-9]/20[0-1] [0-9] [0-2][0-9]:[0-5][0-9]'
> > arquivo
> > > | tail -2 | tr -d '\n'
> > >
> > > Não entendi pois o retono é via pesquisa do Lynx e tambem havia
> > substituido
> > > pela ER do Cristiano e não deu certo.
> > >
> > >
> > > valeu mesmo a ajuda e contem comigo no que eu puder ajudar!
> >
> > Ilustre Ernander.
> >
> > Se você tem o livro do Júlio, dá uma procurada nele sobre a variável
$IFS
> > (internal field separator). É por ela que você começa a solução do seu
> > problema.
> >
> > Primeiro, você não precisa passar a linha inteira no while e depois ficar
> > cortando ela para achar os seus campos. Teu arquivo de origem é um CSV
> > (delimitado por ";"), você já tem os campos separados. Basta informá-los
> ao
> > while com uma sintaxe parecida com isto:
> >
> > while read VAR1 VAR2 ... VARn ; do
> > comando1
> > comando2
> > done < /tmp/arquivo_origem.txt
> >
> > Para cada campo no seu arquivo de origem, informe o nome de uma variável
> > após o read (CAMPO1=VAR1, CAMPO2=VAR2, etc.).
> >
> > Daí, é só pegar o campo certo e fazer o que precisa com ele dentro do
> laço.
> >
> > Porém, para que isso aconteça, é necessário que o shell reconheça que
os
> > ";" do seu arquivo original são os separadores de campos. Por padrão, o
> IFS
> > do bash é o caracter espaço. Para mudar isso, basta, antes do laço
> (while),
> > mudar o IFS; atribuindo outro valor para a variável $IFS.
> >
> > Porém, antes de mudar o valor, lembre-se de guardar o original em outra
> > variável, e voltar a ele logo após o fim do laço (done). Senão, "coisas
> > estranhas" podem acontecer.
> >
> > Outro detalhe. Para concatenar o BR no número do track, você não precisa
> > fazer isso:
> >
> > ENCOMENDA=`echo $CODIGO`BR
> >
> > Basta um ENCOMENDA="$CODIGO"BR. Assim, você evita chamar mais um processo
> > desnecessário (o echo) e concatena o "BR" no momento que o bash faz a
> > expansão das variáveis. (isso também tá no livro do tio Júlio).
> >
> > Aliás, no seu caso, você nem precisa se dar o trabalho de fazer isso,
> basta
> > acrescentar o BR como parte da URL que passa ao lynx. Economiza mais uma
> > etapa no script.
> >
> > Já o problema do tamanho do nome da cidade você resolve fácil.
> >
> > Lembra da dica do Júlio, de trocar o meu sed pelo tr? Adapta ela.
> >
> > Usa o tr, mas ao invés de fazer com parametro -d, para excluir a
> ocorrência
> > da quebra de linha, troca por um caracter qualquer, que te servirá de
> > marcador para um cut. Por exemplo o #.
> >
> > Assim, você faz um cut para pegar a data, outro para a hora (usando o
> > espaço como delimitador) e um outro cut para pegar o staus (usando o #
> como
> > delimtador). Pode também trocar os dois primeiros cuts por um um while,
> > usando a mesma lógica que te expliquei no início.
> >
> > Então, dentro do laço, você joga o resultado da pesquisa vinda do lynx em
> > uma variável, depois corta ela e atribui a data em uma variável, a hora
> em
> > outra, e o status em outra.
> >
> > Como você já tem os valores do arquivo original é só fazer um echo com
> > todas variáveis (as que vieram do links e as do arquivo original),
> > intercalados com os ";", e terá a saída redondinha.
> >
> > Geralmente não gosto de postar o script pronto, pois acho que te tira a
> > possibilidade de aprender. Então, tenta escrever ele aí que mais tarde e
> > posto o meu para você comparar. Até mesmo porque, agora o site dos
> correios
> > está um coco de lento e não vou postar o script sem testá-lo.
> >
> > Abraço
> >
> > Cristiano
> >
> > Abraço
> >
> >
> >
>
> --
> â•”â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•—
> â•‘ Ernander Lataliza â•‘
> ╚â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
> --------------------------------------
> SEJA LIVRE! USE LINUX!
> Linux User #394812
> -----BEGIN PGP PUBLIC KEY BLOCK-----
> Version: GnuPG v1.4.6 (GNU/Linux)
>
> mQGiBEnrmpwRBADsGwMo8R2spUxfer19bGyX5mAXRyEhm5vlzkOH9T7Fe4WyAvLM
> rDpSKjv1VgcC3/fSMpPQ8MmQZwwO4H87IIwyN0AX/NqvmEQDNMVZS6omrcN39jpt
> xEC80Hs/TP/yKyB2V6seHV0eZtjlfmokIb7nYazcxTLAhiv9CVg9nL+JCwCg+gNL
> R+1rQcqGooGtjIL95OZr/8kEANpGy/Jb+B7Ajq4gatJ6qoedDyeyFFDRz8aV1OBJ
> TCRh9T8MWjOhwvgcsGQV7R95VHgJNVGnej6yilMoM3NtIcyA2tbXAUerp5QhRAAi
> 2BU50z2JF5wl7YQ5ocSpOxp5Cq4sEBJYa/gTUzbLzztNc+ezCIKV403kEbE2IqSV
> 9rt3A/4vxcKsh9IX1At+vH9Ev850CXlRyxN4H7tRlGL+OdqQ76SR3tMi1qm4NRIp
> p0Y7gJ8k9YdfWCgm56aLlSCCXlr80TXP5WHEH+sz2yDrw6iCj5ABeBMA5tdTae5y
> bpx9QJgu5+1dYAK+FFWM+czPO11FM6nOKC3N+XSvrmM88dQhg7RHRXJuYW5kZXIg
> TWFyY3VzIExhdGFsaXphIFJvc2VuZG8gKE5hbmRlciBMYXRhbGl6YSkgPGVybmFu
> ZGVyQGdtYWlsLmNvbT6IYAQTEQIAIAUCSeuanAIbAwYLCQgHAwIEFQIIAwQWAgMB
> Ah4BAheAAAoJEKahazXSKEoo15oAoPBiOWjUw0I2a6u7MtDPPwNPebG3AKDsoBuT
> tcC4MzB17iNsOq819aV42rkBDQRJ65qdEAQApuFxoXRdeQrFIOJDyxE2EQi3GZby
> 2RP0+6iWiLbMk3XUGVsc477NTeGkEuDQA0SpkA5whL4wHWHCrYaE9rtmYMYW67ml
> z/PUPWGI78cQ/R7M1ADPLGaD7cSxfdWzIHbhkP29x4zHTkSrdl4zT+XOHXwmAULp
> ekzuKdb6whw676MAAwUD/isUOzlyF5sf/Q7RJRmLjOEEn5gpL/pf7ZzWHNxgxsPH
> s1LlicO2yObH1cuVDXQDsc3a6ag61z1gCapa8Q1L/E5akKpU0irRzf99yNVzTp3i
> BD9cua7h7fnfBMp6D4EyLDnUkCxOMD5HdIik1Ie6iHoVdCeDpYFnv72RplPI3dBB
> iEkEGBECAAkFAknrmp0CGwwACgkQpqFrNdIoSiiUYgCgvHpf/Tkub4sWz/Vj91y6
> BgH84hQAn3Z8pVMAUMJmmH/jRqJg49SS8AHc
> =1sQ8
> -----END PGP PUBLIC KEY BLOCK-----
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>


[As partes desta mensagem que não continham texto foram removidas]




Qui, 9 de Jul de 2009 10:27 pm

julioneves99
Offline Offline
Enviar e-mail Enviar e-mail

Encaminhar Mensagem #29584 de 30429 |
Expandir mensagens Nome/E-mail Classificar por data

Senhores boa Tarde! preciso de uma Ajudinha básica: To fazendo um Shell para rastrear algumas encomendas aki da empresa. Ela deve buscar pela registro do...
Ernander (Nander)
ernander2004
Offline Enviar e-mail
6 de Jul de 2009
6:31 pm

... Ernander, boa tarde. Vamos por partes, como diria o Jack. First of all, 2 conselhos: 1. Não use e-mail em formato HTML. Nem todos na lista recebem este...
Cristiano Ferrari
box_ferrari
Offline Enviar e-mail
6 de Jul de 2009
9:35 pm

Cara, dá uma olhada no script do Leo Boiko: http://namakajiri.net/complog/watch-encomenda-sh/ Pode te dar umas idéias legais sobre a resolução do problema....
klayson sesana bonatto
klaysonbonatto
Offline Enviar e-mail
6 de Jul de 2009
11:16 pm

Traduzindo isso tudo para um one-liner e simplificando a ER, vem: grep -A2 '[0-3][0-9]/[0-1][0-9]/20[0-1][0-9] [0-2][0-9]:[0-5][0-9]' arquivo ... A...
Julio C. Neves
julioneves99
Offline Enviar e-mail
7 de Jul de 2009
1:53 pm

... Hash: SHA1 Olá Ernander! No site do funcoesZZ do Aurelio, nas funçoes extras tem uma chamada zzrastreamento que é justamente pra rastrear entregas dos...
Anderson Duarte
andersonrizada@...
Enviar e-mail
7 de Jul de 2009
5:05 pm

Bom dia A Todos! Primeiramente gostaria de pedir Desculpas pela gafe do e-mail em html. E para me redimir todos os exemplos que darei são impreterivelmente...
Ernander (Nander)
ernander2004
Offline Enviar e-mail
9 de Jul de 2009
2:19 pm

Sem o link do pastebin não rola né? perdão novamente! http://ubuntu.pastebin.com/m5129cc6b Att Ernander 2009/7/9 Ernander (Nander) <ernander@...> ...
Ernander (Nander)
ernander2004
Offline Enviar e-mail
9 de Jul de 2009
2:21 pm

... Ilustre Ernander. Se você tem o livro do Júlio, dá uma procurada nele sobre a variável $IFS (internal field separator). É por ela que você começa a...
Cristiano Ferrari
box_ferrari
Offline Enviar e-mail
9 de Jul de 2009
3:50 pm

Ok !!! Como te disse Comprei o Livro do Julio... Mas ele veio com defeitos e o Devolvi. E como o novo chegou to indo aos poucos e testando, mas vou pular para...
Ernander (Nander)
ernander2004
Offline Enviar e-mail
9 de Jul de 2009
5:40 pm

Fala Nander, Não estou chamando a tua atenção, mas te dando uma dica: os Correios são grande usuários de Sw Livre e, portanto, deve ter um monte de...
Julio C. Neves
julioneves99
Offline Enviar e-mail
9 de Jul de 2009
10:28 pm
Avançado

Copyright © 2009 Yahoo! do Brasil Internet Ltda. Todos os direitos reservados.
Política de Privacidade - Termos do Serviço - Diretrizes - Ajuda