Comparando se existe um valor dentro de um Array

1. Comparando se existe um valor dentro de um Array

TheMagicOfOz
TheMagicOz

(usa PCLinuxOS)

Enviado em 30/04/2018 - 16:39h

Tenho um seguinte Array:
Resultado=("19" "34" "56" "29" "8" "98")
ai tenho esse outro Array:
numero_jogados=("6" "48" "19" "22" "76" "29")
Queria saber o comando que verifico se o numero 19 que foi jogado consta dentro do array Resultado, como se fosse na loteria, mostrar quais os valores que acertei , verificar os numeros jogados com o resultado.


  


2. Re: Comparando se existe um valor dentro de um Array

Jose Renan
JoseRenan

(usa Ubuntu)

Enviado em 30/04/2018 - 17:03h

Acho que não tem função pra isso, vc pode tentar fazer um loop pra comparar os resultados individualmente.


3. E como faria esse loop comparando ?

TheMagicOfOz
TheMagicOz

(usa PCLinuxOS)

Enviado em 30/04/2018 - 17:04h

Poderia me mostrar como seria esse loop comparadando os valores?


4. Re: Comparando se existe um valor dentro de um Array

Ryuk Shinigami
Ryuk

(usa Nenhuma)

Enviado em 30/04/2018 - 18:24h

Testa aí:
#!/bin/bash

Array1=("19" "34" "56" "29" "8" "98")
Array2=("6" "48" "19" "22" "76" "29")

for n in ${Array1[*]}
do
echo ${Array2[*]} | grep -ow $n
done



5. E como atribuo esse resultado dentro de um array resultado_final=() ?

TheMagicOfOz
TheMagicOz

(usa PCLinuxOS)

Enviado em 02/05/2018 - 14:55h

Depois de ter feito a comparação e pegado os valores que bateram , queria joga-los dentro desse array resultado_final=(), como faço isso ?



6. Re: Comparando se existe um valor dentro de um Array

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 03/05/2018 - 11:28h

Thauan_Mendes escreveu:

Tenho um seguinte Array:
Resultado=("19" "34" "56" "29" "8" "98")
ai tenho esse outro Array:
numero_jogados=("6" "48" "19" "22" "76" "29")
Queria saber o comando que verifico se o numero 19 que foi jogado consta dentro do array Resultado, como se fosse na loteria, mostrar quais os valores que acertei , verificar os numeros jogados com o resultado.


Boa tarde, segue sugestão:
for n in ${Array1[*]};do 
if grep -wq "$n" <<< ${Array2[*]};then
echo "ACERTOU o Nº $n"
NA=${#ArrayFinal[*]}
ArrayFinal[$NA]="$n" #INCLUI $n na ArrayFinal
else
echo "Errou o Nº $n"
fi
done

ACERTOU o Nº 19
Errou o Nº 34
Errou o Nº 56
ACERTOU o Nº 29
Errou o Nº 8
Errou o Nº 98


Marcelo Oliver









Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts