Contador de Linhas [RESOLVIDO]

1. Contador de Linhas [RESOLVIDO]

Raphael Manhães Olindino
Olindino

(usa Puppy Linux)

Enviado em 11/10/2012 - 14:25h

Fala pessoal, preciso da ajuda de vocês, gostaria de saber se existe algum comando que eu possa fazer a seguinte coisa por exemplo:

Vamos supor que dentro de um arquivo chamado interface.txt exista o seguinte conteúdo:

SNMPv2-SMI::enterprises.6876.2.4.1.4.912.4000 = STRING: "REDE_HOMOLOGACAO_DMZ"
SNMPv2-SMI::enterprises.6876.2.4.1.4.944.4000 = STRING: "REDE_HOMOLOGACAO"
SNMPv2-SMI::enterprises.6876.2.4.1.4.944.4001 = STRING: "REDE_HOMOLOGACAO"
SNMPv2-SMI::enterprises.6876.2.4.1.4.1056.4000 = STRING: "REDE_HOMOLOGACAO"
SNMPv2-SMI::enterprises.6876.2.4.1.4.1104.4000 = STRING: "REDE_HOMOLOGACAO"
SNMPv2-SMI::enterprises.6876.2.4.1.4.1216.4000 = STRING: "REDE_HOMOLOGACAO"
SNMPv2-SMI::enterprises.6876.2.4.1.4.1232.4000 = STRING: "REDE_HOMOLOGACAO_DMZ"
SNMPv2-SMI::enterprises.6876.2.4.1.4.1232.4001 = STRING: "REDE_HOMOLOGACAO_DMZ"
SNMPv2-SMI::enterprises.6876.2.4.1.4.1248.4000 = STRING: "REDE_HOMOLOGACAO"

como faço para contar as linhas apenas que são da "REDE_HOMOLOGACAO_DMZ"???

(agora a mais difícil) como faço para comparada por exemplo:

SNMPv2-SMI::enterprises.6876.2.4.1.4.1232.4000 = STRING: "REDE_HOMOLOGACAO_DMZ"
SNMPv2-SMI::enterprises.6876.2.4.1.4.1232.4001 = STRING: "REDE_HOMOLOGACAO_DMZ"

Essas 2 linhas se referem apenas a 1 servidor pois podem ver que a linha começa da seguinte forma:

SNMPv2-SMI::enterprises.6876.2.4.1.4.1232.

esses 42 caracteres são idênticos, como contar apenas como 1 linha, caso so primeiro 42 caracteres sejam iguais???


Caso não tenham entendido minha dúvida por favor explicarei melhor.




  


2. Re: Contador de Linhas [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 11/10/2012 - 15:04h

# cat interface.txt | egrep -c "REDE_HOMOLOGACAO_DMZ"
3

# cat interface.txt | egrep -n "REDE_HOMOLOGACAO_DMZ"
1:SNMPv2-SMI::enterprises.6876.2.4.1.4.912.4000 = STRING: "REDE_HOMOLOGACAO_DMZ"
7:SNMPv2-SMI::enterprises.6876.2.4.1.4.1232.4000 = STRING: "REDE_HOMOLOGACAO_DMZ"
8:SNMPv2-SMI::enterprises.6876.2.4.1.4.1232.4001 = STRING: "REDE_HOMOLOGACAO_DMZ"

-c ---> contar número de linhas
-n ---> mostra o número de linhas



3. Re: Contador de Linhas [RESOLVIDO]

Raphael Manhães Olindino
Olindino

(usa Puppy Linux)

Enviado em 11/10/2012 - 15:07h

# cat interface.tx | egrep -n "REDE_HOMOLOGACAO_DMZ"
1:SNMPv2-SMI::enterprises.6876.2.4.1.4.912.4000 = STRING: "REDE_HOMOLOGACAO_DMZ"
7:SNMPv2-SMI::enterprises.6876.2.4.1.4.1232.4000 = STRING: "REDE_HOMOLOGACAO_DMZ"
8:SNMPv2-SMI::enterprises.6876.2.4.1.4.1232.4001 = STRING: "REDE_HOMOLOGACAO_DMZ"


Perfeito amigão e como faço agora para contar apenas as minhas que os primeiros 42 caracteres são diferentes? por exemplo:

7:SNMPv2-SMI::enterprises.6876.2.4.1.4.1232.4000 = STRING: "REDE_HOMOLOGACAO_DMZ"
8:SNMPv2-SMI::enterprises.6876.2.4.1.4.1232.4001 = STRING: "REDE_HOMOLOGACAO_DMZ"

SNMPv2-SMI::enterprises.6876.2.4.1.4.1232.
SNMPv2-SMI::enterprises.6876.2.4.1.4.1232.

como faço para contar apenas 1 linha?




4. Re: Contador de Linhas [RESOLVIDO]

Raphael Manhães Olindino
Olindino

(usa Puppy Linux)

Enviado em 11/10/2012 - 15:12h

pois no snmpwal, alguns servidores tem 2 ips diferentes e preciso gerar um relatório dinâmico de quantidade de servidores, e essa exclusão de diferença de primeiros caracteres é justamente para não contar 2 ips que estão em um unico servidor como 2 servidores entendeu?


5. Re: Contador de Linhas [RESOLVIDO]

Raphael Manhães Olindino
Olindino

(usa Puppy Linux)

Enviado em 11/10/2012 - 15:14h

perceba que 2 linhas tem 1232.

uma 1232.4000
e outra 1232.4001

essas 2 linhas se referem a um unico servidor


6. Re: Contador de Linhas [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 11/10/2012 - 15:19h

Saquei! Estou bolando um script.


7. Re: Contador de Linhas [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 11/10/2012 - 16:19h

Esse "SNMPv2-SMI::enterprises.6876.2.4.1.4.1232.", não vai ser o único parâmetro igual né?

Vai ter que filtra com o parâmetro "REDE_HOMOLOGACAO_DMZ" e comparar os 42 caracteres iniciais. Se igual conta 1, se não soma +1. É isso né?


8. Re: Contador de Linhas [RESOLVIDO]

Raphael Manhães Olindino
Olindino

(usa Puppy Linux)

Enviado em 11/10/2012 - 16:34h

Isso amigão justamente, quando esses primeiros 42 caracteres são igual estão se referindo a Blades ques existem nos hosts.


9. Re: Contador de Linhas [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 11/10/2012 - 17:24h

Testa assim:

cat interface.txt | grep "REDE_HOMOLOGACAO_DMZ" | cut -c -36 | sort | uniq -c 



* Total:
cat interface.txt | grep "REDE_HOMOLOGACAO_DMZ" | cut -c -36 | sort | uniq -c | wc -l 



10. Re: Contador de Linhas [RESOLVIDO]

Raphael Manhães Olindino
Olindino

(usa Puppy Linux)

Enviado em 11/10/2012 - 17:37h

poxa amigão não deu certo, está me retornando 1, a segunda linha... enfim eu tive uma idéia me tire uma dúvida. eu tenho um arquivo chamado interface5.txt

neste arquivo existe apenas o numero 2

como faço para dentro do shell atribuir esse valor que está dentro do interface5.txt para um avariavél???


11. Re: Contador de Linhas [RESOLVIDO]

Raphael Manhães Olindino
Olindino

(usa Puppy Linux)

Enviado em 11/10/2012 - 17:40h

Digo assim, dentro de um shell imprimir essa unica linha em algum echo.


12. Re: Contador de Linhas [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 11/10/2012 - 17:48h

Vou fazer passo a passo.

# cat /tmp/interfaces.txt
SNMPv2-SMI::enterprises.6876.2.4.1.4.912.4000 = STRING: "REDE_HOMOLOGACAO_DMZ"
SNMPv2-SMI::enterprises.6876.2.4.1.4.944.4000 = STRING: "REDE_HOMOLOGACAO"
SNMPv2-SMI::enterprises.6876.2.4.1.4.944.4001 = STRING: "REDE_HOMOLOGACAO"
SNMPv2-SMI::enterprises.6876.2.4.1.4.1056.4000 = STRING: "REDE_HOMOLOGACAO"
SNMPv2-SMI::enterprises.6876.2.4.1.4.1104.4000 = STRING: "REDE_HOMOLOGACAO"
SNMPv2-SMI::enterprises.6876.2.4.1.4.1216.4000 = STRING: "REDE_HOMOLOGACAO"
SNMPv2-SMI::enterprises.6876.2.4.1.4.1232.4000 = STRING: "REDE_HOMOLOGACAO_DMZ"
SNMPv2-SMI::enterprises.6876.2.4.1.4.1232.4001 = STRING: "REDE_HOMOLOGACAO_DMZ"
SNMPv2-SMI::enterprises.6876.2.4.1.3 = STRING: "REDE_HOMOLOGACAO_DMZ"
SNMPv2-SMI::enterprises.6876.2.4.1.3 = STRING: "REDE_HOMOLOGACAO_DMZ"
SNMPv2-SMI::enterprises.6876.2.4.1.2 = STRING: "REDE_HOMOLOGACAO_DMZ"
SNMPv2-SMI::enterprises.6876.2.4.1.2 = STRING: "REDE_HOMOLOGACAO_DMZ"
SNMPv2-SMI::enterprises.6876.2.4.1.4.1232.4001 = STRING: "REDE_HOMOLOGACAO_DMZ"
SNMPv2-SMI::enterprises.6876.2.4.1.2 = STRING: "REDE_HOMOLOGACAO_DMZ"
SNMPv2-SMI::enterprises.6876.2.4.1.2 = STRING: "REDE_HOMOLOGACAO_DMZ"
SNMPv2-SMI::enterprises.6876.2.4.1.4.1248.4000 = STRING: "REDE_HOMOLOGACAO"


# cat /tmp/interfaces.txt | grep "REDE_HOMOLOGACAO_DMZ"
SNMPv2-SMI::enterprises.6876.2.4.1.4.912.4000 = STRING: "REDE_HOMOLOGACAO_DMZ"
SNMPv2-SMI::enterprises.6876.2.4.1.4.1232.4000 = STRING: "REDE_HOMOLOGACAO_DMZ"
SNMPv2-SMI::enterprises.6876.2.4.1.4.1232.4001 = STRING: "REDE_HOMOLOGACAO_DMZ"
SNMPv2-SMI::enterprises.6876.2.4.1.3 = STRING: "REDE_HOMOLOGACAO_DMZ"
SNMPv2-SMI::enterprises.6876.2.4.1.3 = STRING: "REDE_HOMOLOGACAO_DMZ"
SNMPv2-SMI::enterprises.6876.2.4.1.2 = STRING: "REDE_HOMOLOGACAO_DMZ"
SNMPv2-SMI::enterprises.6876.2.4.1.2 = STRING: "REDE_HOMOLOGACAO_DMZ"
SNMPv2-SMI::enterprises.6876.2.4.1.4.1232.4001 = STRING: "REDE_HOMOLOGACAO_DMZ"
SNMPv2-SMI::enterprises.6876.2.4.1.2 = STRING: "REDE_HOMOLOGACAO_DMZ"
SNMPv2-SMI::enterprises.6876.2.4.1.2 = STRING: "REDE_HOMOLOGACAO_DMZ"


# cat /tmp/interfaces.txt | grep "REDE_HOMOLOGACAO_DMZ" | cut -c -36
SNMPv2-SMI::enterprises.6876.2.4.1.4
SNMPv2-SMI::enterprises.6876.2.4.1.4
SNMPv2-SMI::enterprises.6876.2.4.1.4
SNMPv2-SMI::enterprises.6876.2.4.1.3
SNMPv2-SMI::enterprises.6876.2.4.1.3
SNMPv2-SMI::enterprises.6876.2.4.1.2
SNMPv2-SMI::enterprises.6876.2.4.1.2
SNMPv2-SMI::enterprises.6876.2.4.1.4
SNMPv2-SMI::enterprises.6876.2.4.1.2
SNMPv2-SMI::enterprises.6876.2.4.1.2


# cat /tmp/interfaces.txt | grep "REDE_HOMOLOGACAO_DMZ" | cut -c -36 | sort | uniq -c

4 SNMPv2-SMI::enterprises.6876.2.4.1.2
2 SNMPv2-SMI::enterprises.6876.2.4.1.3
4 SNMPv2-SMI::enterprises.6876.2.4.1.4


# cat /tmp/interfaces.txt | grep "REDE_HOMOLOGACAO_DMZ" | cut -c -36 | sort | uniq -c | wc -l
3 





  
01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts