Extraia carimbos de hora e encontre a diferença

1

Eu tenho um grande conjunto de registros, conforme mostrado abaixo:

June   5 15:51:56.606  [3997]:   TR#153. State machine - state = CC_STATE_IDLE, event = EVT_ISDN_SETUP
June   5 15:51:56.607  [3997]:   TR#153):  SC registration SUCCESS.
June   5 15:52:00.368  [3997]:   TR#153. DSP:4 Channel:26 Type: Modem State: Data 
June   5 15:52:01.837  [3997]:   TR#153. Receive transaction data: prot 1 data length: 159.-------------------->>
June   5 15:52:02.073  [3997]:   TR#153. Send transaction data: 55 <<-------------------
June   5 15:52:04.361  [3997]:   TR#153):Disconnect initated by 32 process.
June   5 15:52:57.382  [3997]:   TR#153. State machine - state = CC_STATE_IDLE, event = EVT_ISDN_SETUP
June   5 15:52:57.383  [3997]:   TR#153):  SC registration SUCCESS.
June   5 15:53:01.327  [3997]:   TR#153. DSP:4 Channel:26 Type: Modem State: Data 
June   5 15:53:04.291  [3997]:   TR#153. Receive transaction data: prot 1 data length: 347.-------------------->>
June   5 15:53:05.071  [3997]:   TR#153. Send transaction data: 103 <<-------------------
June   5 15:53:06.209  [3997]:   TR#153. Receive transaction data: prot 1 data length: 24.-------------------->>
June   5 15:53:07.239  [3997]:   TR#153):Disconnect initated by 32 process.

Eu gostaria de encontrar a diferença de tempo entre os eventos 'EVT_ISDN_SETUP' e 'Disconnect', essencialmente a duração de cada transação. Para isso, preciso extrair primeiro o carimbo de tempo das linhas correspondentes e descobrir a diferença. Eu tentei o código Perl aqui para encontrar a diferença para uma instância e funcionou bem. Minha tarefa seria, então, obter com sucesso as marcações de horário dos eventos interessados e, em seguida, alimentar o código Perl e imprimir a diferença juntamente com TR # ID.

Como faço para isso?

    
por Prabhu 18.06.2014 / 11:27

1 resposta

1

Suposição: Para cada linha contendo EVT_ISDN_SETUP , há uma linha contendo o padrão Disconnect . Deixe-me colar o algoritmo:

  Get the time field for the line matching 'EVT_ISDN_SETUP' pattern and put it to temp1 file
  Get the time field for the line matching 'Disconnect'pattern and put it to another file say temp2.
  Using paste command put the content of both the files to another file say temp3.
  Read every line of the temp3 and pass first & 2nd field your perl script .
    
por 18.06.2014 / 12:15