none
Script para Tratamento de Arquivo Texto RRS feed

  • Pergunta

  • Olá pessoal.

    Estou tentando automatizar um processo de testes de links de rede das diversas localidades que compõem a infraestrutura do órgão onde trabalho. Já consegui criar o script para logar nas máquinas, rodar o programa e realizar o teste. Do lado de cá, consegui produzir o log com as informações sobre o teste realizado.

    Meu problema agora é transformar esses dados em informações. 

    O para cada teste realizado, a estrutura dos dados escritos no log é a seguinte:

    Client connecting to 192.168.137.153, TCP port 5001
    TCP window size: 8.00 KByte (default)
    ------------------------------------------------------------
    [  5] local 127.0.0.1 port 63087 connected with 192.168.137.153 port 5001
    [  4]  0.0-30.1 sec  19.4 MBytes  5.41 Mbits/sec
    [  5]  0.0-30.1 sec  15.4 MBytes  4.30 Mbits/sec
    [  4] local 192.168.62.150 port 5001 connected with 192.168.160.152 port 49547

    O que eu preciso é de um script para pegar o IP de origem do teste (no caso, 192.168.137.153), e as velocidades dos links (no caso, 5.41 e 4.30) e transportá-las para um outro arquivo qualquer, no formato "IP=192.168.137.153 ; UP: 5.41 ; DOWN 4.30"

    Esse arquivo de log é composto por 75 testes com a mesma estrutura descrita acima então o script precisa: varrer o arquivo todo ; transportar as informações para outro arquivo.

    Obrigado! 

    quarta-feira, 3 de junho de 2015 20:27

Respostas

  • Marcio,

    Os testes estarão sempre na mesma linha de cada arquivo? Exemplo: "[  5] local 127.0.0.1 port 63087 connected with 192.168.137.153 port 5001" será sempre a linha 4 do arquivo?

    Se as informações estiverem sempre na mesma linha dos arquivos você pode ler o arquivo linha por linha e usar um contador, quando o contador atingir o número 4 você sabe de qual linha se trata e usa substring ou split (meu favorito) pra pegar a informação.

    Se as informações não estiverem sempre na mesma linha aí já complica um pouco, você tem que ter algo que torne aquela linha única, primeiro pensei no [  5], porém tem outra linha que começa com [   5] e traz outra informação, mas você pode fazer uma que começa com "[  5] local" e outra que começa com "[  5]" e conte´m a palavra MBytes.


    Fábio de Paula Junior

    quarta-feira, 3 de junho de 2015 20:54
    Moderador