|
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 |
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/
[Prev in Thread] | Current Thread | [Next in Thread] |