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

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

Re: [shell-script] Desempenho ao checar se string existe em arquivo de t


From: Paulo Bettega
Subject: Re: [shell-script] Desempenho ao checar se string existe em arquivo de texto
Date: Wed, 24 Dec 2014 02:48:07 -0200
User-agent: Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Thunderbird/31.3.0

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)




reply via email to

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