Contar parametros [RESOLVIDO]

1. Contar parametros [RESOLVIDO]

Marcus Vinicius Cruz
viniciusinside

(usa CentOS)

Enviado em 23/06/2017 - 15:13h

Boa tarde a todos.
Estou com o seguinte arquivo e preciso contar quantos elementos tem em cada rede e quantos elementos estao em alive. Exemplo:
10.10.10.1 gerencia1.bompreco is alive
10.10.10.12 gerencia2.supermercadox is unreachable
10.10.10.13 gerencia3.bompreco is alive
10.10.10.14 gerencia100.hipermercadojoao is unreachable
10.10.10.15 gerencia201.mercadinhodamaria is unreachable
Preciso do seguinte resultado:
Rede bom preco total de roteadores: 50 alive: 46
Rede supermercadox total de roteadores:100 alive: 90
Rede mercadinhodamaria total de roteadores: 200 alive: 199
Estou com um numero muito grande de roteadores e nomes de redes, entao o nome da rede(roteador.nomedarede) tem que ser tambem uma variavel para o resultado do arquivo ficar como o exemplo acima.
É opcional se colocar tambem os valores de unreachable, mas se vier será bem-vindo.
No aguardo de uma ajuda amigos.
Tenho um aquivo com 23 mil roteadores e preciso deste relatorio de conectividade. Quem puder me da ajudar.

Obrigado,
Abraços em todos.









  


2. MELHOR RESPOSTA

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 24/06/2017 - 14:30h

viniciusinside escreveu:

Boa tarde a todos.

Marcelo, ficou ótimo muito obrigado.

Abraços.
Vinicius.

Boa tarde Vinicius.
E não me salvou heim!!!! rsrsrsr

mso




3. Re: Contar parametros [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 23/06/2017 - 15:59h

viniciusinside escreveu:

Boa tarde a todos.
Estou com o seguinte arquivo e preciso contar quantos elementos tem em cada rede e quantos elementos estao em alive. Exemplo:
10.10.10.1 gerencia1.bompreco is alive
10.10.10.12 gerencia2.supermercadox is unreachable
10.10.10.13 gerencia3.bompreco is alive
10.10.10.14 gerencia100.hipermercadojoao is unreachable
10.10.10.15 gerencia201.mercadinhodamaria is unreachable
Preciso do seguinte resultado:
Rede bom preco total de roteadores: 50 alive: 46
Rede supermercadox total de roteadores:100 alive: 90
Rede mercadinhodamaria total de roteadores: 200 alive: 199
Estou com um numero muito grande de roteadores e nomes de redes, entao o nome da rede(roteador.nomedarede) tem que ser tambem uma variavel para o resultado do arquivo ficar como o exemplo acima.
É opcional se colocar tambem os valores de unreachable, mas se vier será bem-vindo.
No aguardo de uma ajuda amigos.
Tenho um aquivo com 23 mil roteadores e preciso deste relatorio de conectividade. Quem puder me da ajudar.

Obrigado,

Abraços em todos.
Boa tarde Vinicius.
Com base no arquivo abaixo:
10.10.10.1 gerencia1.bompreco is alive
10.10.10.12 gerencia2.supermercadox is unreachable
10.10.10.13 gerencia3.bompreco is alive
10.10.10.14 gerencia100.hipermercadojoao is unreachable
10.10.10.15 gerencia201.mercadinhodamaria is unreachable
10.10.10.13 gerencia2.bompreco is unreachable
10.10.10.12 gerencia2.supermercadox is alive
10.10.10.14 gerencia100.hipermercadojoao is alive
10.10.10.15 gerencia202.mercadinhodamaria is unreachable
10.10.10.15 gerencia203.mercadinhodamaria is unreachable
10.10.10.15 gerencia204.mercadinhodamaria is alive
Os resultados seriam +- esses:
ROTEADORES:
3 bompreco
2 hipermercadojoao
4 mercadinhodamaria
2 supermercadox
STATUS:
2 bompreco alive
1 bompreco unreachable
1 hipermercadojoao alive
1 hipermercadojoao unreachable
1 mercadinhodamaria alive
3 mercadinhodamaria unreachable
1 supermercadox alive
1 supermercadox unreachable

No aguardo.:
Marcelo Oliver





4. Re: Contar parametros [RESOLVIDO]

Marcus Vinicius Cruz
viniciusinside

(usa CentOS)

Enviado em 23/06/2017 - 16:48h

Marcelo, voce sempre me salvando. rsrsrsrs

Amigo, nao teria como colocar na mesma linha ?

Vou participar de uma migracao e precisava acompanha como cada cliente esta em sua quantidade e tambem a conectividade.

Obrigado mais uma vez.

Abraços.

Vinicius


5. Re: Contar parametros [RESOLVIDO]

Marcus Vinicius Cruz
viniciusinside

(usa CentOS)

Enviado em 23/06/2017 - 16:54h

Eu estava tentando pegar pelo .(nomedarede) e calculava a quantidade. Depois queria pegar a quantidade de alive deste mesmo parametro que e por ultimo o unreachable.
O desafio e colocar o resultado de cada rede na mesma linha.

A solucao que voce demonstrou tambem me ajuda se nao tiver como colocar na mesma linha.





6. Re: Contar parametros [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 23/06/2017 - 17:51h

viniciusinside escreveu:

Marcelo, voce sempre me salvando. rsrsrsrs

Amigo, nao teria como colocar na mesma linha ?

Vou participar de uma migracao e precisava acompanha como cada cliente esta em sua quantidade e tambem a conectividade.

Obrigado mais uma vez.

Abraços.

Vinicius


Boa tarde Vinicius.
Vamos ver se "voce me salva" . . . . escolhendo a MELHOR RESPOSTA . . . rsrsrsr
Dá para colocar em uma linha sim . . . .
Se der tempo, faço ainda hoje, estou de saída . . . .

abç.:
marcelo oliver



7. Re: Contar parametros [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 23/06/2017 - 18:41h

viniciusinside escreveu:

Eu estava tentando pegar pelo .(nomedarede) e calculava a quantidade. Depois queria pegar a quantidade de alive deste mesmo parametro que e por ultimo o unreachable.
O desafio e colocar o resultado de cada rede na mesma linha.
A solucao que voce demonstrou tambem me ajuda se nao tiver como colocar na mesma linha.


Boa noite Vinicius.
Desafio vencido. tudo na mesma linha . . . .
Segue:
#!/bin/bash
sed -r 's/([0-9])\.([a-z])/\1 \2/' ARQ.txt|awk '{print $3}'|sort|uniq >> CLIENTES.txt
sed -r 's/([0-9])\.([a-z])/\1 \2/' ARQ.txt|awk '{print $3,$5}'|sort|uniq -c|sed -r 's/[ ]+//' >> STATUS.txt
wait
while IFS=$'\n' read Cli;do
ALI=$(awk '/'$Cli' alive/{print $1}' STATUS.txt)
UNR=$(awk '/'$Cli' unreachable/{print $1}' STATUS.txt)
TTL=$(awk '/'$Cli'/{T+=$1;} END {print T}' STATUS.txt)
echo -e "Rede $Cli: Total:$TTL Alive:$ALI Unreachable:$UNR" >> ESTATISTICAS.txt
done<CLIENTES.txt

cat ARQ.txt
10.10.10.1 gerencia1.bompreco is alive
10.10.10.12 gerencia2.supermercadox is unreachable
10.10.10.13 gerencia3.bompreco is alive
10.10.10.14 gerencia100.hipermercadojoao is unreachable
10.10.10.15 gerencia201.mercadinhodamaria is unreachable
10.10.10.13 gerencia2.bompreco is unreachable
10.10.10.12 gerencia2.supermercadox is alive
10.10.10.14 gerencia100.hipermercadojoao is alive
10.10.10.15 gerencia202.mercadinhodamaria is unreachable
10.10.10.15 gerencia203.mercadinhodamaria is unreachable
10.10.10.15 gerencia204.mercadinhodamaria is alive

cat ESTATISTICAS.txt
Rede bompreco: Total:3 Alive:2 Unreachable:1
Rede hipermercadojoao: Total:2 Alive:1 Unreachable:1
Rede mercadinhodamaria: Total:4 Alive:1 Unreachable:3
Rede supermercadox: Total:2 Alive:1 Unreachable:1

Não esqueça de me "SALVAR", escolhendo a "MELHOR RESPOSTA" . . . rsrsrsr

Abç.:
Marcelo Oliver





8. Re: Contar parametros [RESOLVIDO]

Marcus Vinicius Cruz
viniciusinside

(usa CentOS)

Enviado em 24/06/2017 - 13:37h

Boa tarde a todos.

Marcelo, ficou ótimo muito obrigado.

Abraços.

Vinicius.



9. Re: Contar parametros [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 25/06/2017 - 18:12h

viniciusinside escreveu:

Boa tarde a todos.

Marcelo, ficou ótimo muito obrigado.

Abraços.

Vinicius.


Boa noite Vinicius.
Obrigado pela avaliação. :)

Montei um comando com om "awk", segue:
awk -F"[ \.]" '{print $6,$8}' ARQ_STATUS_SRV.txt >> STATUS.txt
cli=$(awk -F"[ \.]" '{print $6}' ARQ_STATUS_SRV.txt|sort|uniq|paste -sd ' ')
for CLI in $cli;do
awk 'BEGIN{OFS=":";T0=0;T1=0;};
/'$CLI'/ {QT=QT+1};END{printf "%s:%s " ,"'$CLI'",QT}
/'$CLI' alive/ {T0=T0+1};END{printf "ALIVE:%s " ,T0}
/'$CLI' unreachable/ {T1=T1+1};END{printf "UNREACHABLE:%s " ,T1;print ""}' STATUS.txt
done

bompreco:3 ALIVE:2 unreachable:1
superbox: ALIVE:0 unreachable:0
mercadinhodamaria:4 ALIVE:1 unreachable:3
hipermercadojoao:2 ALIVE:1 unreachable:1



Marcelo oliver






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts