shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Sobre script para curso


From: Bruno Gunter Fricke
Subject: Re: [shell-script] Sobre script para curso
Date: Sat, 23 Jun 2007 13:43:31 -0300

Elias,

Para mostra os diretórios é moleza, use variações do "ls".

Os e-mails já funcionaram com aquela linha que passei anteriormente?

Agora, como disse antes, mostrar os IPs será complicado se não soubermos em que 
logs devemos procurá-los. Um egrep recursivo com uma expressão regular no meio 
pode te ajudar bastante. 

Lembrandoq ue para casar um IP, precisamos de 4 números separados por pontos. E 
os númeors podem ter de 1 a 3 dígitos e serão sempre entre 0 e 255.

Ok, esta é a nossa fonte da sabedoria, vamos ao que interessa :-)

Para casar um número de acordo com o que eu disse podemos usar:
 [01]?\d\d?|2[0-4]\d|25[0-5]
Só que tem um porém, precisaremos dele 4 vezes... Então:
([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])

Note que "escapei" os pontos, se não ele casa qualquer caracter pois o ponto é 
um curinga.

Como seria o egrep? Simples:

egrep -R 
'([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])'
 /var/log

Com isso ele cuspirá todos os ips na sua tela, uma  cada linha. Para "contar" 
os resultados:

egrep -R 
'([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])'
 /var/log | wc -l

Acho que daí você continua, né?

[]'s
Bruno Gunter




  ----- Original Message ----- 
  From: Elias P. Oliveira 
  To: address@hidden 
  Sent: Saturday, June 23, 2007 9:12 AM
  Subject: [shell-script] Sobre script para curso


  Bom dia!

  A função que montei para exibir ips e e-mails está mais ou menos assim:

  function occur(){
  for i in $dir /*;
  do
  cat /var/log/syslog '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]'
  sleep 1
  cat /var/log/mail
  echo $i
  done
  }

  Ela até que funciona mas não está exibindo de acordo com o que preciso. que é 
como mensagem anterior:

  Galera preciso entregar um script até segunda na faculdade. Alguém
  ajuda?

  Ele precisa:

  monitorar e mostrar todos os IPs e e-mails do diretório /var

  deve retornar algo mais ou menos assim:

  /var... IP = 2
  /var/log emails = 3

  __________________________________________________________
  Novo Yahoo! Cadê? - Experimente uma nova busca.
  http://yahoo.com.br/oqueeuganhocomisso 

  [As partes desta mensagem que não continham texto foram removidas]



   

[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]