Olá Guilherme,
acho que esse aqui ia ficar bem mais rápido:
grep -E "^(`paste -s -d"|" arquivo1`) " arquivo2

afinal, iriamos percorrer o arquivo2 uma única vez :)

abraços,
Salhab


2009/11/8 Guilherme Andrade <[email protected]>

>
>
> Olá pessoal, estou com um problema para resolver, tenho 2 arquivos, com o
> seguinte conteúdo:
>
> $ cat arquivo1
>
> 1234
>
> 2345
>
> 2333
>
> 4444
>
> 4545
>
> Segundo arquivo
>
> $cat arquivo2
>
> 2345 texto teste
>
> 2333 mais um teste
>
> 423342342 outo teste
>
> 342343423 mais um teste
>
> O que eu quero é pegar a linha do arquivo 2 que que contenha o codigo do
> arquivo 1.
>
> Eu fiz um script que esta funcionando, porém como meus arquivos são
> enormes,
> esta demorando muito, então com a ajuda da lista queria saber se tem algum
> outro algoritmo mais eficiente que este que eu fiz.
>
> #!/bin/bash
>
> for i in `cat arquivo1`; do
>
> cat arquivo2 | grep $i >> arquivo3;
>
> done;
>
> com isso irá gerar o arquivo3 com a seguinte saída:
>
> $cat arquivo3
>
> 2345 texto teste
>
> 2333 mais um teste
>
> Obrigado desde já quem puder me ajudar.
> *Att,
>
> Guilherme Andrade*
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


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



------------------------------------

---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
---------------------------------------------------------------------
Sair da lista: [email protected]
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil

Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
    [email protected]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html


Responder a