petercuria
(usa Debian)
Enviado em 24/10/2012 - 16:14h
Beleza pessoal!
Tenho um arquivo com mais de 70 mil linhas todas deste tipo:
02C20120323 23:55 00006 00101GCNS 003-0024 003-7101 011, Q=N Qt=0
02C20120323 23:56 00006 00107GCNS 002-1445 002-7301 011, Q=N Qt=0
02C20120323 23:56 00010 00108GCNS 001-1403 001-7301 011, Q=N Qt=0
02C20120323 23:56 00009 00101GCNS 001-1403 001-7301 011, Q=N Qt=0
02C20120323 23:56 00036 00111GCNS 003-5643 003-7902 011, Q=N Qt=0
As linhas são de 11 arquivos gerados por controladoras de rádios ip, cada controladora gera um arquivo, onde o que me interessa são os campos 1, porém somente a parte da data, o campo 2 que indica o horário e o campo 4, porém somente os 2 caracteres após o 001 e antes do GCNS, que indicam o número da controladora que está sendo usada.
Utilizando filtros com cut, uniq, sort, awk e delimitando por ";" consegui chegar num resultado assim:
20120324;00:37;10
20120324;00:37;11
20120324;00:38;04
20120324;00:38;05
20120324;23:59;05
20120324;23:59;06
20120324;23:59;07
Agora preciso gerar um resultado que mostre de acordo com a data e horário quantas controladoras estavam sendo usadas, nesta parte do arquivo acima consigo ver que no dia 24/03/2012 às 23:59 havia 3 controladoras ativas (05,06 e 07), às 00:38 havia 2 (04 e 05), às 00:37 havia 2 (10 e 11). Para criar arquivo que fosse algo desse tipo:
20120324;00:37;02
20120324;00:38;02
20120324;23:59;03
E posteriormente com esse arquivo gerar um gráfico de atividade sobre as 11 controladoras.
Se fossem poucas linhas seria fácil, mas o uso dos rádios é intenso aqui no aeroporto de cumbica, então quero agilizar este processo nos arquivos que a cada semana geram 100 mil linhas. Estou procurando um comando ou script que possa fazer isso, porém ainda sem sucesso.
Agradeço imensamente pelo auxílio.
Até mais.