Comparar dois IPS.. [RESOLVIDO]

1. Comparar dois IPS.. [RESOLVIDO]

Nameless
theThux

(usa Debian)

Enviado em 16/02/2017 - 19:57h

Galera, boa noite.
Bom eu tenho um script, que pega dois IPS, mas isso não é o foco.

Em várias tentativas, eu tentei fazer uma verificação, "se o IP é igual ou menos que 127.0.0.1 informe, etc etc.."

Porém estou meio travado nisso, há um tempo não faço um script..

 if [ $IP1 -le "$localh" ] #$IP1 seria o IP digitado pelo usuário
#$localh é o localhost .
then
echo "Você não pode listar o IP local como um dos IPS."
fi


Grato.


  


2. MELHOR RESPOSTA

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 16/02/2017 - 22:14h

lipinho0 escreveu:


Boa noite, lipinho.
Da forma que esta fazendo, não vai dar certo . . . .,
Pode até verificar se é igual, mas menor, não.
Sugestão:
Divida o IP em quatro partes (octetos) e compare uma a uma.
IPLOC="127.0.0.1"
OIFS="$IFS"
IFS=".";read -a OCTLO <<< "$IPLOC"
IFS=".";read -a OCTIP2 <<< "$IP02"
IFS="$OIFS"
if (( ${OCTIP2[0]} <= ${OCT1[0]} && ${OCTIP2[1]} <= ${OCT1[1]} && ${OCTIP2[2]} <= ${OCT1[2]} && ${OCTIP2[3]} <= ${OCT1[3]} ));then . . . .
else . . .
fi

Tambem dá para usar o "awk" . . .

Marcelo oliver



Boa noite Marcelo, obrigado.

Seria possível dividir a variável em oito partes?

Se não for abusar muito, me da uma luz na forma do awk..

Muito grato.


Lipinho,
O IP é fomado por 04 octetos, portanto, não é possível dividí-lo em 08 partes . . .
Segue a "luz" :)
awk -F"." '{if($1>=$5 && $2>=$6 && $3>=$7 && $4>=$8) print "MAIOR/IGUAL";else print "MENOR";}' <<< "${ip1}.${ip2}" 


Se não for pedir muito . . . E se as resspostas foram satisfatórias... Marque como A Melhor . . .

Abç.:
marcelo oliver

3. Re: Comparar dois IPS.. [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 16/02/2017 - 20:41h

lipinho0 escreveu:

Galera, boa noite.
Bom eu tenho um script, que pega dois IPS, mas isso não é o foco.

Em várias tentativas, eu tentei fazer uma verificação, "se o IP é igual ou menos que 127.0.0.1 informe, etc etc.."

Porém estou meio travado nisso, há um tempo não faço um script..

 if [ $IP1 -le "$localh" ] #$IP1 seria o IP digitado pelo usuário
#$localh é o localhost .
then
echo "Você não pode listar o IP local como um dos IPS."
fi


Grato.

Boa noite, lipinho.
Da forma que esta fazendo, não vai dar certo . . . .,
Pode até verificar se é igual, mas menor, não.
Sugestão:
Divida o IP em quatro partes (octetos) e compare uma a uma.
IPLOC="127.0.0.1"
OIFS="$IFS"
IFS=".";read -a OCTLO <<< "$IPLOC"
IFS=".";read -a OCTIP2 <<< "$IP02"
IFS="$OIFS"
if (( ${OCTIP2[0]} <= ${OCT1[0]} && ${OCTIP2[1]} <= ${OCT1[1]} && ${OCTIP2[2]} <= ${OCT1[2]} && ${OCTIP2[3]} <= ${OCT1[3]} ));then . . . .
else . . .
fi

Tambem dá para usar o "awk" . . .

Marcelo oliver




4. Re: Comparar dois IPS.. [RESOLVIDO]

Nameless
theThux

(usa Debian)

Enviado em 16/02/2017 - 21:34h


Boa noite, lipinho.
Da forma que esta fazendo, não vai dar certo . . . .,
Pode até verificar se é igual, mas menor, não.
Sugestão:
Divida o IP em quatro partes (octetos) e compare uma a uma.
IPLOC="127.0.0.1"
OIFS="$IFS"
IFS=".";read -a OCTLO <<< "$IPLOC"
IFS=".";read -a OCTIP2 <<< "$IP02"
IFS="$OIFS"
if (( ${OCTIP2[0]} <= ${OCT1[0]} && ${OCTIP2[1]} <= ${OCT1[1]} && ${OCTIP2[2]} <= ${OCT1[2]} && ${OCTIP2[3]} <= ${OCT1[3]} ));then . . . .
else . . .
fi

Tambem dá para usar o "awk" . . .

Marcelo oliver



Boa noite Marcelo, obrigado.

Seria possível dividir a variável em oito partes?

Se não for abusar muito, me da uma luz na forma do awk..

Muito grato.



5. Re: Comparar dois IPS.. [RESOLVIDO]

Bruno Ricardo Rodrigues
Brunorr

(usa CentOS)

Enviado em 16/02/2017 - 21:42h

Voce pode usar o script ip.sh

#!/bin/bash

IP=$1

IP1=$(echo $IP | cut -d "." -f 1)
IP2=$(echo $IP | cut -d "." -f 2)
IP3=$(echo $IP | cut -d "." -f 3)
IP4=$(echo $IP | cut -d "." -f 4)

if [ $IP1 -le 127 ] && [ $IP2 -le 0 ] && [ $IP3 -le 0 ] && [ $IP4 -le 1 ]; then
if [ $IP == "127.0.0.1" ]; then
echo "O IP $IP é igual a 127.0.0.1"
else
echo "O IP $IP é menor que 127.0.0.1"
fi
else
echo "O IP $IP é maior que 127.0.0.1"
fi


Uso: ./ip.sh <IP>

Exemplo: ./ip.sh 192.168.0.3

Abraço


6. Re: Comparar dois IPS.. [RESOLVIDO]

Nameless
theThux

(usa Debian)

Enviado em 16/02/2017 - 22:34h

msoliver escreveu:

lipinho0 escreveu:


Boa noite, lipinho.
Da forma que esta fazendo, não vai dar certo . . . .,
Pode até verificar se é igual, mas menor, não.
Sugestão:
Divida o IP em quatro partes (octetos) e compare uma a uma.
IPLOC="127.0.0.1"
OIFS="$IFS"
IFS=".";read -a OCTLO <<< "$IPLOC"
IFS=".";read -a OCTIP2 <<< "$IP02"
IFS="$OIFS"
if (( ${OCTIP2[0]} <= ${OCT1[0]} && ${OCTIP2[1]} <= ${OCT1[1]} && ${OCTIP2[2]} <= ${OCT1[2]} && ${OCTIP2[3]} <= ${OCT1[3]} ));then . . . .
else . . .
fi

Tambem dá para usar o "awk" . . .

Marcelo oliver



Boa noite Marcelo, obrigado.

Seria possível dividir a variável em oito partes?

Se não for abusar muito, me da uma luz na forma do awk..

Muito grato.


Lipinho,
O IP é fomado por 04 octetos, portanto, não é possível dividí-lo em 08 partes . . .
Segue a "luz" :)
awk -F"." '{if($1>=$5 && $2>=$6 && $3>=$7 && $4>=$8) print "MAIOR/IGUAL";else print "MENOR";}' <<< "${ip1}.${ip2}" 


Se não for pedir muito . . . E se as resspostas foram satisfatórias... Marque como A Melhor . . .

Abç.:
marcelo oliver




Obrigado man, obrigado a todos... Me ajudou muito.


7. Re: Comparar dois IPS.. [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 16/02/2017 - 22:41h

Eu transformaria o ip em decimal e depois faria a comparação.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts