Regex - Perl - Versão de Impressão +- Forum Pplware (http://forum.pplware.com) +-- Fórum: Mais Tech (/forumdisplay.php?fid=11) +--- Fórum: Programação e Web (/forumdisplay.php?fid=16) +--- Tópico: Regex - Perl (/showthread.php?tid=22223) |
Regex - Perl - Jonas - 18-04-2016 23:13 Boas Estou a fazer uns testes do desempenho de equipamentos de redes, mais concretamente UTM's, com o iPerf , para publicar um artigo de comparação do desempenho entre várias UTM's em vários cenários. O iPerf está a fazer muitas repetições com vários tipos de amostras, onde são gerados ficheiros com mais de 15.000 linhas de resultados. Ao tentar retirar os dados de amostras da penúltima linha do exemplo, não estou a conseguir juntar as duas ultima num só regex no script em perl. Isto pois as anteriores são idênticas à penúltima e se o regex não apanhar a última linha do exemplo onde diz "Sent", apanha as anteriores e esse não é o objetivo. [ 4] 9.80-9.90 sec 10.0 MBytes 839597 Kbits/sec 0.005 ms 6/20998 (0.029%) [ 4] 9.90-10.00 sec 9.90 MBytes 830300 Kbits/sec 0.006 ms 240/20995 (1%) - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams [ 4] 0.00-10.00 sec 1005 MBytes 843066 Kbits/sec 0.005 ms 20155/2107663 (0.96%) [ 4] Sent 2107663 datagrams Tenho utilizado este site como ajuda para realizar os regex's, (http://regexr.com/), mas quando coloco o regex no script, o perl não detecta mais a partir da \n. \[\s+\d\]\s+\d*.\d*-(\d*.\d+)\s+\w+\s+(\d+.\d+)\s+\w+\s+(\d+)\s+\w+\/\w+\s+\d+.\d+\s+\w+\s+\d+\/\d+\s+\(\d.*\d+\%\)\s*\n\[\s*\d\]\s*Sent/m Pelo que já pesquisei, experimentei colocar o 'm' para multiplas linhas, o '$' no início e nada. Se alguém souber alguma dica ou maneira diferente de tirar os resultados fico agradecido. Obrigado pela atenção |