AWK - Validando endereços IPv4

Publicado por Sandro Marcell em 08/10/2012

[ Hits: 5.085 ]

Blog: http://sanmarcell.wordpress.com

 


AWK - Validando endereços IPv4



Essa é para aqueles que precisam validar um endereço IPv4 de forma rápida, sem necessidade de criar uma função em shell script, com instruções e loops em várias linhas.

Esse one-liner em AWK, resolve o problema "num tapa". :)

Obs.: Dica testada no GNU ASK 3.1.6

awk -W posix '/^(((1[0-9]|[1-9]?)[0-9]|2([0-4][0-9]|5[0-5]))\.){3}((1[0-9]|[1-9]?)[0-9]|2([0-4][0-9]|5[0-5]))$/'


Ao validar o IP, o AWK retorna-o caso seja válido, caso contrário, não irá retornar nada!

Exemplos:

IP inválido (não irá retornar nada!):
$ echo '192.168.256.43' | awk -W posix '/^(((1[0-9]|[1-9]?)[0-9]|2([0-4][0-9]|5[0-5]))\.){3}((1[0-9]|[1-9]?)[0-9]|2([0-4][0-9]|5[0-5]))$/'

IP válido (retorna o IP!):
$ echo '192.168.2.43' | awk -W posix '/^(((1[0-9]|[1-9]?)[0-9]|2([0-4][0-9]|5[0-5]))\.){3}((1[0-9]|[1-9]?)[0-9]|2([0-4][0-9]|5[0-5]))$/'
192.168.2.43

Mais detalhes?

man awk

Falou!!! ;)

Dica também publicada em:

Outras dicas deste autor

Renomeando arquivos simultaneamente com apenas uma linha de comando

php-meter: Medidor que mostra o consumo de banda no link de internet

sed - Removendo caracteres acentuados

Squid - Limitando números de conexões simultâneas

Wget: Verificando existência de arquivo remoto

Leitura recomendada

Os comandos basename e dirname

Checando ocupação de disco dos diretórios a partir da raiz

Iniciando o Mplayer em tela cheia na segunda placa de vídeo

Tratando arquivos de pacote

Arping - Descobrindo se um host está no ar em uma rede local protegida por um gateway/firewall

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário