Calculos com ShellScript [RESOLVIDO]

1. Calculos com ShellScript [RESOLVIDO]

Marcos Vinicius
marcosvinicius12

(usa Ubuntu)

Enviado em 02/07/2015 - 17:57h

Pessoal estou com problemas para executar os calculos de media, se alguem puder me dar uma ajudar.
A ideia é procurar quais IPS estao ativos na rede, executar o ping 3 vezes, se a media deste ping for > 100 ele salva esse IP
e depois ele executa mais 10 pings se a media destes 10 pings forem > 100 ele me envia um email ou sei lá.
Mas agora meu problema é as contas...

#!/bin/bash

##VARIAVEIS##
rede="192.168.17.0/24"
ativo_temp="/home/marcos/teste/ativos_temp.txt"
ip_ativos="/home/marcos/teste/ip_ativos.txt"
linhas="/home/marcos/teste/linhas.txt"
#Procura os IPs ativos e adiciona em um aquivo
nmap -sP $rede > $ativo_temp

#Adiciona em um arquivos somente os IPs
egrep -o "\w{3}\.\w{2,3}\.\w{2,3}\.\w{2,3}" $ativo_temp > $ip_ativos
#Conta a qntidade de IPs
egrep -c "\w{3}\.\w{2,3}\.\w{2,3}\.\w{2,3}" $ip_ativos > $linhas


cat $ip_ativos | while read ip
do
tempo_ping="/home/marcos/teste/tempo_$ip"
ips_ping="/home/marcos/teste/ping_$ip"

echo "IP:" $ip
ping -c3 $ip > $ips_ping

egrep -o "\w{2}\.\w{1}\ " $ips_ping > $tempo_ping
linha_soma=`egrep -c "\w{2}\.\w{1}\ " $ips_ping`
soma=`paste -s -d + $tempo_ping | bc`
if [ $linha_soma != 0 ]; then
media=$(( $soma / $linha_soma ));
fi
echo "A soma eh: " $soma
echo "A media eh: " $media
done



  


2. Re: Calculos com ShellScript [RESOLVIDO]

Wagner Souza
wagnerfs

(usa Fedora)

Enviado em 02/07/2015 - 19:27h

Boa noite.

Dá uma olhada neste artigo que escrevi para ver se te ajuda -> http://www.vivaolinux.com.br/artigo/Algoritmos-em-Shell-Script
_________________________
Wagner F. de Souza
Técnico/Instrutor de Informática
"GNU/Linux for human beings."
LPI ID: LPI000297782



3. Re: Calculos com ShellScript [RESOLVIDO]

Marcos Vinicius
marcosvinicius12

(usa Ubuntu)

Enviado em 03/07/2015 - 11:13h


Então meu erro ta dando no calculo da media le da a mensagem de erro:
Se eu colocar
if [ $linha_soma -ne 0 ]; then
media=$(($soma/$linha_soma));
fi
45.4/3: erro de sintaxe: operador aritmético inválido (token com erro é ".4/3")

mas se eu colocar
if [ $linha_soma -ne 0 ]; then
media=$((soma/linha_soma));
fi
169.9: erro de sintaxe: operador aritmético inválido (token com erro é ".9")


Travei aqui



4. Re: Calculos com ShellScript

Wellingthon Dias Queiroz - @tonyhts
tonyhts

(usa Arch Linux)

Enviado em 03/07/2015 - 12:38h

marcosvinicius12 escreveu:


Então meu erro ta dando no calculo da media le da a mensagem de erro:
Se eu colocar
if [ $linha_soma -ne 0 ]; then
media=$(($soma/$linha_soma));
fi
45.4/3: erro de sintaxe: operador aritmético inválido (token com erro é ".4/3")

mas se eu colocar
if [ $linha_soma -ne 0 ]; then
media=$((soma/linha_soma));
fi
169.9: erro de sintaxe: operador aritmético inválido (token com erro é ".9")


Travei aqui



Ola

Tenta assim:


if [ $linha_soma -ne 0 ]; then
media=`expr $soma / $linha_soma`;
fi



5. Re: Calculos com ShellScript [RESOLVIDO]

Marcos Vinicius
marcosvinicius12

(usa Ubuntu)

Enviado em 03/07/2015 - 12:48h


Opa, retornou :
Valor da Soma : 45.5

expr: argumento não inteiro




6. Re: Calculos com ShellScript [RESOLVIDO]

Wellingthon Dias Queiroz - @tonyhts
tonyhts

(usa Arch Linux)

Enviado em 03/07/2015 - 12:52h

marcosvinicius12 escreveu:


Opa, retornou :
Valor da Soma : 45.5

expr: argumento não inteiro




entao usa o bc:


if [ $linha_soma -ne 0 ]; then
media=`echo $soma / $linha_soma | bc` ;
fi



7. Re: Calculos com ShellScript [RESOLVIDO]

Marcos Vinicius
marcosvinicius12

(usa Ubuntu)

Enviado em 03/07/2015 - 12:54h


AEEEEEEE

AGORA DEU CERTO, OBRIGADO PELA AJUDA!!!!

MESMO

VLW


8. Re: Calculos com ShellScript [RESOLVIDO]

Wellingthon Dias Queiroz - @tonyhts
tonyhts

(usa Arch Linux)

Enviado em 03/07/2015 - 12:55h

marcosvinicius12 escreveu:


AEEEEEEE

AGORA DEU CERTO, OBRIGADO PELA AJUDA!!!!

MESMO

VLW



NOIX!

NAo esquece de:

1- marcar o topico como resolvido
2 - ajudar a galera nos outros posts.


abs

:)







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts