shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Melhorar algoritmo


From: Julio C. Neves
Subject: Re: [shell-script] Melhorar algoritmo
Date: Mon, 9 Nov 2009 16:18:08 -0200

O problema é que a lista_limpa é muito grande... Vou propor 3 formas. A
primeira é muito melhor, mas não sei se vai funcionar. A segunda demora
mais, mas funciona. A última tb funciona, mas vai demorar uma eternidade...

1o caso
$ grep -E "^($(tr '\n' '|' < lista_limpa | xargs))" lista2 > lista_ok

2o caso
$ Num=1000
$ grep -Ef <(cat lista_limpa | xargs -n$Num | tr '\n' '|') lista_ok
# Neste caso qto maior for $Num, mais rápido irá funcionar.
# Se $Num for muito grande, haverá estouro

3o caso
$ cat lista_limpa | xargs -i grep "^{}" lista2 > lista_ok

Abraços,
Julio
Cursos de Shell e Zenity em 2 fins de semana?
- Em SP ligue (11) 2125-4747 Curso de 07 a 11/12;
- Em DF ligue (61) 3223-3000;
- No RJ ligue (21) 2561-0867. Curso nos dias 5,6,12,13/12;
- Turmas fechadas em outras cidades ligue (21) 8112-9988.


2009/11/9 Guilherme Andrade <address@hidden>

> Segue o comando
>
> wc -l lista_limpa
> 2505633 lista_limpa
>
> wc -l lista_ok
> 6239145 lista_ok
>
>
> 2009/11/9 MrBiTs <address@hidden>
>
> >
> >
> > > Pessoal tentei fazer dos dois jeitos que foram passados, o primeiro
> > > grep -E "^(`paste -s -d"|" lista_limpa`) " lista2 > lista_ok
> > > bash: /bin/grep: Argument list too long
> > >
> > > e o segundo
> > >
> > > grep -f lista_limpa lista2 > lista_ok
> > > Killed
> >
> > Isso está relacionado à quantidade de registros de cada arquivo. Manda
> > um wc -l neles para vermos isso.
> >
> > MrBiTs
> >
> >
>
>
>
> --
> Guilherme Andrade
>
> E-mail: address@hidden
> Cel: 19 8822-5949
> Blog: http://guiap.wordpress.com/
>
> --- >> Slackware Linux because it works! << ---
>
>
> [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: address@hidden
> ---------------------------------------------------------------------
> 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
>
>
>


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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]