CRIAR UM ALGORITMO QUE VERIFIQUE SE HÁ A EXISTÊNCIA DE USUÁRIOS REPETIDOS [RESOLVIDO]

1. CRIAR UM ALGORITMO QUE VERIFIQUE SE HÁ A EXISTÊNCIA DE USUÁRIOS REPETIDOS [RESOLVIDO]

Nameless
theThux

(usa Debian)

Enviado em 11/04/2017 - 16:37h




Opa galera, o título está meio embaçado mas vou tentar explicar sobre a ajuda que vim lhes pedir.

Eu tenho mais ou menos como se fosse uma database, é nela há informações sobre usuários
Ex:
Fernando:1:2

Há vários usuários por ex, só que eu tenho um script que manda esses dados para a 'db', só que se o usuário do script passar o mesmo usuário mas com outras informações, a database passará a ter dois usuários iguais, por que eu mando as informações assim:

echo "$infos" >> db, e assim ocorre o problema, ficam dois usuários
Ex:

Fernando:200:1
Fernando:300:2

Como fazer para resolver este probleminha?

Grato!



  


2. MELHOR RESPOSTA

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 11/04/2017 - 22:59h

lipinho0 escreveu:

PauloHAC escreveu:

Apenas um esboço...
#!/bin/bash
read -p "Digite o nome do usuário: " RESP
VERIFICAR=`grep -c "$RESP" db`
if [ $VERIFICAR = 1 ]; then
echo "Usuário já cadastrado"
exit
else
comandos...
fi


Boa noite mano, mano, não posso simplesmente dizer que o usuário já existe, preciso de que o script apague a linha desse usuário, por exemplo, e depois mande os novos dados.

Eu tentei com o Sed, mas se houver usuários parecidos:

Fernando
Fernando1

O Sed iria remover as duas linhas ou mais, por exemplo.

Grato.


Para o "sed" não remover os "dois Fernandos",
Use o IFS como limitador do nome, exemplo:
sed -n '/Fernando:/p arquivo_DB'
Vai mostrar somente o "Fernando"

att.:
marcelo oliver


3. Re: CRIAR UM ALGORITMO QUE VERIFIQUE SE HÁ A EXISTÊNCIA DE USUÁRIOS REPETIDOS

Perfil removido
removido

(usa Nenhuma)

Enviado em 11/04/2017 - 18:37h

Apenas um esboço...
#!/bin/bash
read -p "Digite o nome do usuário: " RESP
VERIFICAR=`grep -c "$RESP" db`
if [ $VERIFICAR = 1 ]; then
echo "Usuário já cadastrado"
exit
else
comandos...
fi



4. Re: CRIAR UM ALGORITMO QUE VERIFIQUE SE HÁ A EXISTÊNCIA DE USUÁRIOS REPETIDOS [RESOLVIDO]

Nameless
theThux

(usa Debian)

Enviado em 11/04/2017 - 19:05h

PauloHAC escreveu:

Apenas um esboço...
#!/bin/bash
read -p "Digite o nome do usuário: " RESP
VERIFICAR=`grep -c "$RESP" db`
if [ $VERIFICAR = 1 ]; then
echo "Usuário já cadastrado"
exit
else
comandos...
fi


Boa noite mano, mano, não posso simplesmente dizer que o usuário já existe, preciso de que o script apague a linha desse usuário, por exemplo, e depois mande os novos dados.

Eu tentei com o Sed, mas se houver usuários parecidos:

Fernando
Fernando1

O Sed iria remover as duas linhas ou mais, por exemplo.

Grato.


5. Re: CRIAR UM ALGORITMO QUE VERIFIQUE SE HÁ A EXISTÊNCIA DE USUÁRIOS REPETIDOS

Perfil removido
removido

(usa Nenhuma)

Enviado em 12/04/2017 - 02:39h

Você poderia iniciar identificando quem se repete. Depois de corrigido trate a entrada para não ocorrer repetições.

Ex.:

$ cat teste.txt
Fernando:0:1
Joao:0:4
Fernando2:0:2
Jose:0:5
Fernando:0:100
Lucas:0:6
Fernando3:0:3
Lucas:100:30
Fernando:0:200

$ sort teste.txt | cut -d: -f1 | uniq -dc
      3 Fernando
2 Lucas



6. Thanks!

Nameless
theThux

(usa Debian)

Enviado em 12/04/2017 - 12:27h



Para o "sed" não remover os "dois Fernandos",
Use o IFS como limitador do nome, exemplo:
sed -n '/Fernando:/p arquivo_DB'
Vai mostrar somente o "Fernando"

att.:
marcelo oliver


Obrigado, era apenas uma questão de lógica.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts