zsh: Validar IPv4 utilizando PCRE
Publicado por Sandro Marcell (última atualização em 01/03/2013)
[ Hits: 4.393 ]
Homepage: http://sanmarcell.wordpress.com
Função genérica para validar endereços IPv4 utilizando o módulo PCRE (Perl Compatible Regular Expressions) do zsh.
#
# Funcao para validacao generica de enderecos IPv4 usando o modulo
# PCRE (Perl Compatible Regular Expressions) do zsh.
#
# Sandro Marcell <smarcell@myopera.com>
#
# Para utilizar esta funcao, basta passar como argumento o IP a ser validado e checar
# o codigo de retorno ($?).
#
# Codigos de retorno
# 0 = IP valido
# 1 = Formato invalido para endereco IP
# 2 = Endereco IP fora da faixa valida (0-255)
#
# Mais detalhes:
# - (man|info) zsh
# - http://www.pcre.org/
#
# Carrega o modulo PCRE (sem essa linha, a funcao nao tem utilidade alguma!)
zmodload zsh/pcre
function validarIPv4 {
local ip padrao_ip ip_valido
ip="$1" # IP a ser validado
padrao_ip='^([\d]{1,3}\.){3}[\d]{1,3}$' # Formato 'xxx.xxx.xxx.xxx'
ip_valido='^(((1[\d]|[1-9]?)[\d]|2([0-4][\d]|5[0-5]))\.){3}((1[\d]|[1-9]?)[\d]|2([0-4][\d]|5[0-5]))$' # Intervalo de 0 a 255
# Checa se a entrada esta em formato valido
pcre_compile "$padrao_ip"
pcre_match "$ip" || return 1
# Valida o endereco IP de 0 a 255
pcre_compile "$ip_valido"
pcre_study
pcre_match "$ip" || return 2
return 0
}
Ativando Numlock como serviço e no boot
Baixe arquivos em pedaços com o DCDownloader
Tradução de endereços de uma rede interna
Nenhum comentário foi encontrado.
File Browser: Crie sua Nuvem Pessoal Privada
A produção de áudio e vídeo no Linux e as distribuições dedicadas a esse fim
Criptografando sua Home com Gocryptfs para tristeza do meliante
A Involução do Linux e as Lambanças Desnecessárias desde o seu Lançamento
O Journal no Linux para a guarda e consulta de logs do sistema
Otimizando o uso de Memória RAM no Ubuntu com zRAM
Usando alias no Terminal para comandos longos
Simplificando o manual do terminal no Ubuntu 26.04
Bloqueio da instalação e reinstalação do Snap (snapd) no Ubuntu
Continuando meus tópicos anteriores (11)
GLPI Cards de filtros de pesquisa (2)









