Comparação com expressões regulares é recurso do bash. Tenha certeza q
está usando uma versão recente do bash. Em outros shells não tenha
certeza q funcionará.
echo $SHELL
Waldirio Manhães Pinheiro wrote:
>
>
> Amigo
>
> Aqui funcionou normalmente, faça o seguinte, execute o cod em um de seus
Fala Marcelo,
Como não sei o que vc chamou de IP interno, criei uma regra que pega os 2.
Veja:
$ grep -oE '([0-9]{1,3}\.){3}[0-9]{1,3}' arquivo.txt | sort -n | uniq -dc
8 192.168.113.12
8 192.168.113.14
9 192.168.113.28
Onde a opção -o do grep devolve somente o que casou, isto
Ola Waldirio,
pra mim funcionou alterando
de f1 para f9...
grep SRC text|cut -f9 -d" "|sed 's/SRC=//g'|sort |uniq -c
Muito Obrigado à todos!!!
Abraços,
Marcelo
Waldirio Manhães Pinheiro wrote:
>
>
> Bom dia Marcelo
>
> Segue a dica :)
>
> jeju:[] > grep SRC text|cut -f1 -d" "|sed 's/SRC
Minha solução não é one-line... mas deu certo também, olha o script que
fiz...
#!/bin/bash
for i in `seq 1 254`; do
CONT=$(fgrep 192.168.113.$i $1|wc -l)
[ $CONT -gt 0 ] && echo " IP: 192.168.113.$i - $CONT Entradas"
done
Saída:
IP: 192.168.113.1 - 16 Entradas
IP: 192.168.113.2 - 9 Entradas
I
Bom dia Marcelo
Segue a dica :)
jeju:[] > grep SRC text|cut -f1 -d" "|sed 's/SRC=//g'|sort |uniq -c
8 192.168.113.12
8 192.168.113.14
9 192.168.113.28
O arquivo text contem a listagem postada abaixo por voce.
[]'s e Sorte
Waldirio
2009/10/20 Marcelo
>
>
> Olá,
>
>
Nesses casos vc poderia colocar uma boa parte do seu arquivo num pastebin da
vida ;-)
Se uma linha desse arquivo é assim:
RC=192.168.113.28 =74.86.245.121 LEN=60 TOS=0x00 PREC=0x00 TTL=63
Bastaria fazer algo como:
grep SRC= arquivo | cut -f2 -d= | sort | uniq -c
8 192.168.113.12
8 1
Olá,
Tenho o seguinte conteudo de um arquivo.txt gerado por um outro script:
Oct 20 13:00:09 server kernel: PING:-FORA-DOMINIO-- IN=eth1 OUT=eth0
SRC=192.168.113.28 =74.86.245.121 LEN=60 TOS=0x00 PREC=0x00 TTL=63
ID=25909 PROTO=ICMP TYPE=8 CODE=0 ID=512 SEQ=34816
Oct 20 13:00:10 server kernel: PI
Amigo
Aqui funcionou normalmente, faça o seguinte, execute o cod em um de seus
terminais e cole aqui a saída.
###
jeju:[xxx] > Hora=13:23
jeju:[xxx] > echo $Hora
13:23
jeju:[xxx] > if [[ $Hora =~ '([01][0-9]|2[0-3]):[0-5][0-9]' ]]
> then
> echo Horario OK
> else
> echo O horario informado esta in
O amigo Não Postou mas qual shell vc está usando? ksh? sh? bash?
2009/10/20 vinicius_noyama
>
>
> Andei aprendendo um pouco sobre shell script nos ultimos tempos, vi um
> exemplo no livro Programação Shell Linux que não consigo rodar nem a pau
> aqui. O dito cujo:
>
> Hora=13:23
> if [[ $Hora
Andei aprendendo um pouco sobre shell script nos ultimos tempos, vi um exemplo
no livro Programação Shell Linux que não consigo rodar nem a pau aqui. O dito
cujo:
Hora=13:23
if [[ $Hora =~ '([01][0-9]|2[0-3]):[0-5][0-9]' ]]
then
echo Horario OK
else
echo O horario informado esta incor
10 matches
Mail list logo