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

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

Re: [Bulk] Re: [shell-script] Desempenho ao checar se string existe em a


From: Sidney Souza
Subject: Re: [Bulk] Re: [shell-script] Desempenho ao checar se string existe em arquivo de texto
Date: Wed, 24 Dec 2014 08:48:47 -0200

Talvez eu esteja falando uma bobagem gigantesca, mas será que armazenar esses dados do outfile dentro de um banco sqlite - talvez em memoria mesmo - e depois rodar um select lá não seria mais eficiente?

2014-12-24 2:48 GMT-02:00 Paulo Bettega address@hidden [shell-script] <address@hidden>:
Olá Fernando, não sei se é mais rápido, mas é outro jeito de
mostrar a lista de nomes comuns.

O comm mostra as linhas comuns, então tem que filtrar o /etc/passwd.
Mas o $outfile não precisa, vc diz que ele já é um nome por linha.

O que pode ser uma grande desvantagem é que os arquivos têm que
estar ordenados, então se houver ganho no tempo da comparação,
pode ser perdido na ordenação do $outfile.

comm -12 <(cut -d: -f1 /etc/passwd|sort) <(cut -d: -f1 /etc/passwd|sort|sed '6,10!d')
daemon
ftp
games
gdm
guest

Abraços Paulo Bettega


On 23-12-2014 23:36, Fernando Mercês address@hidden [shell-script] wrote:
> Amigos,
>
> Num script que acabei de fazer [1] tenho um arquivo de texto que é uma lista de nomes de usuário (um
> por linha). E quero checar se eles existem no sistema. Fiz deste jeito:
>
> whileIFS= readi;do
> grep -qm1 "^$i:" /etc/passwd && echo "$i matches with an existent user. Be careful!"
> done < "$outfile"
>
>
> Mas este "$outfile" é muito grande. Milhares de linhas e demora um pouco. Alguma ideia pra otimizar?
>
> Grato e feliz natal! :)
>
> [1] https://gist.github.com/merces/0a4d2272d79d00cc0fe1
>
> Att,
>
> Fernando Mercês
> Linux Registered User #432779
> www.mentebinaria.com.br <http://www.mentebinaria.com.br>
> ------------------------------------
> "Ninguém pode ser escravo de sua identidade; quando surge uma possibilidade de mudança é preciso
> mudar". (Elliot Gould)
>



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

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

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

<*> 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:
    address@hidden

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




reply via email to

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