[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RES: [shell-script] acesso a arquivo a partir de outro
From: |
Emerson Domingues Souto - H2M |
Subject: |
RES: [shell-script] acesso a arquivo a partir de outro |
Date: |
Wed, 19 Dec 2012 17:04:25 -0200 |
Leandro,
O Flavio Steimacher já deu a solução para pesquisar na quarta posição, segue
novamente:
cat arquivo1 | while read linha; do if [ $(cut -d'|' -f4 arquivo2 | grep $linha
| wc -l) -ne 0 ]; then echo "existe $linha"; else "Nao existe $linha"; fi; done;
Emerson Domingues Souto
Tecnologia da Informação
Marítima Seguros S/A
De: address@hidden [mailto:address@hidden] Em nome de Leandro Valiengo
Enviada em: quarta-feira, 19 de dezembro de 2012 17:01
Para: address@hidden
Assunto: Re: [shell-script] acesso a arquivo a partir de outro
Prezados,
me desculpe mas acabei de perceber q em dois exemplos tive o cliente do
arquivo1 em outra posiçao do arquivo2.
entao para fechar com chave de ouro, preciso que seja na quarta posiçao...
Recapitulando:
arquivo1
|28594|
arquivo2
201202|12|LOTE 12|28594|450|F|FATURAMENTO|N|NORMAL|
Muito obrigado a todos que estao me ajudando...estou respondendo ao ultimo
somente pois quando conecto a VPN nao acesso a internet...to pegando só o
ultimo.
abs a todos.
________________________________
De: Julio C. Neves <address@hidden <mailto:julio.neves%40gmail.com> >
Para: address@hidden <mailto:shell-script%40yahoogrupos.com.br>
Enviadas: Quarta-feira, 19 de Dezembro de 2012 16:27
Assunto: Re: [shell-script] acesso a arquivo a partir de outro
Leandro,
pelo que entendi, os números do arquivo2 estarão sempre entre barras.
Então, para evitar um casamento parcial, vamos colocar todos entre barras.
Veja:
$ sed -i 's/^/|/;s/$/|/' arq1
julio@NetB-Julio:~/tstsh$ cat arq1
|39487|
|40508|
|44080|
|20948|
Agora basta fazer:
grep -f arq1 arq2 > arq3
Ou, se vc quiser fazer tudo em somente uma linha, faça:
$ grep -f <(sed 's/^/|/;s/$/|/' arq1) arq2 > arq3
Conforme vc pode ver, um problema com um certo grau de dificuldade para se
resolver em qq linguagem, torna-se um simples one-liner em Shell.
Abcs,
Julio
*
*
Em 19 de dezembro de 2012 15:48, Leandro Valiengo <
address@hidden <mailto:leandro_valiengo%40yahoo.com.br> > escreveu:
> 39487
> 40508
> 44080
> 20948
>
[As partes desta mensagem que não continham texto foram removidas]
[As partes desta mensagem que não continham texto foram removidas]
[As partes desta mensagem que não continham texto foram removidas]