Como extrair endereços IP exclusivos do arquivo de log Apache no Linux

Como extrair endereços IP exclusivos do arquivo de log Apache no Linux

Pergunta

Como faço para extrair todos os endereços IP do meu log httpd. Eu preciso extrair apenas endereços IP exclusivos do meu arquivo de log Apache.

Aqui está uma entrada do meu amostra do Apache Log:

Xxx.64.70.Xxx - - [26/mar/2011: 00: 28: 23 -0700] "Get/http/1.1 "403 4609"-"" Mozilla/5.0 (x11; u; linux i686; en-us) Applewebkit/534.16 (Khtml, como Gecko) Chrome/10.0.648.204 Safari/534.16 " 

Responder

No formato de entrada do log do Apache que você forneceu, a maneira mais fácil de extrair em endereços IP desse tipo de entradas de log do Apache é usar uma combinação de comandos AWK, Sort e Uniq. Primeiro, precisamos obter uma longa lista de endereços IP. Isso pode ser feito com o comando AWK:

$ awk 'print $ 1' apache_log 

O próximo passo é classificar endereços IP com comando de classificação:

$ awk 'print $ 1' apache_log | organizar 

E, finalmente, obtemos apenas um endereço IP exclusivo, transmitindo a saída do comando acima para o Uniq:

$ awk 'print $ 1' apache_log | classificar | Uniq 

Isso criará uma longa lista de endereços IP curtos, cada um em linha separada. Se você pretende contar visitantes únicos em seu site, simplesmente redirecre wc -l.

$ awk 'print $ 1' apache_log | classificar | uniq | wc -l 

Tutoriais do Linux relacionados:

  • Coisas para instalar no Ubuntu 20.04
  • Guia de solução de problemas gerais GNU/Linux para iniciantes
  • Manipulação de big data para diversão e lucro Parte 2
  • Exemplos úteis de linha de comando bash e exemplos de truques - Parte 1
  • Scripts Bash: Operações Aitméticas
  • Como configurar o servidor Samba Share no Ubuntu 22.04 Jammy…
  • Mint 20: Melhor que o Ubuntu e o Microsoft Windows?
  • Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
  • Como formatar o disco no Linux
  • Arquivos de configuração do Linux: os 30 primeiros mais importantes