zsh: Validar IPv4 utilizando PCRE
Publicado por Sandro Marcell (última atualização em 01/03/2013)
[ Hits: 4.028 ]
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 }
Plugin do Nagios para checar disco via SNMP
Atualiza base de dados do Clamav e avisa o admin
Unificando arquivos de bloqueio e liberação no squid
POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - EXCLUINDO USUÁRIO
Nenhum coment�rio foi encontrado.
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Será que eu deveria apreender C/C++ para desenvolver para Linux? (4)