![]() |
|
|
google unix.com
|
|||||||
| Fóruns | Registar | Fórum Regimento | Ligações | Álbuns | FAQ | Lista deputados | Calendário | Pesquisa | Today's Posts | Mark Forums Read |
| Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui. |
Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
|
||||
| Fio | Thread Starter | Fórum | Respostas | Última postagem |
| Como concatenar linhas consecutivas | shivi707 | UNIX desktop para Dummies Perguntas & Respostas | 1 | 01-12-2009 09:08 |
| necessidade de concatenar duas linhas, se a linha doesnt terminar com aspas | laxmi131 | UNIX & avançada para usuários experientes | 9 | 10-27-2008 07:22 |
| concatenar e exibir 2 linhas como 1 com uma condição para a linha 2? | vithala | Programação Shell Script e | 7 | 07-11-2008 02:01 |
| Necessidade solução concatenar e exibir 2 linhas como 1 com uma condição para a linha 2? | vithala | UNIX & avançada para usuários experientes | 1 | 07-10-2008 02:27 |
| Extraindo Logfile Entries | harpdl | Programação Shell Script e | 2 | 07-13-2006 02:40 |
![]() |
|
|
Linkback | Thread Tools | Pesquisar este Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Logfile - extrair algumas linhas para concatenar em 1 linha
Eu tenho um arquivo de log de diagnóstico automático será executado. O arquivo de log é anexado a cada vez que um registo automático seja executado.
Queria apenas puxar algumas linhas de cada run no arquivo de log, e concatenar-los em 1 vírgula delimitada linha (para exportação para Excel ou uma tabela html). Cada diagnóstico é executado entre colchetes por iniciar e terminar um comentário por isso me sinto capaz de grupo, dessa forma, mas estou tendo problemas para ficar tudo em 1 linha. Típico de dados: Diags começar. Ter. 17 mar 18:07:34 EDT 2009 PASS: (123) Power Check . . [mais informação] Diags final. Diags começar. Ter. 17 mar 19:09:22 EDT 2009 FAIL: (123) Power Check . descrição: Tensão grampo . . [falta de dados mais detalhes] . Diags final. Quero que a hora, resultado (para o teste 123) Eu era capaz de usar awk para chegar perto, mas não sou capaz de obtê-lo. awk '/ Diags começar / (getline; imprimir); (if ($ 2 \u003d\u003d "(123)") print $ 1, $ 2, $ 3, $ 4)' Isto dá-me: Mon Mar 16 11:37:07 EDT 2009 PASS: (123) Power Check Mon Mar 16 12:31:10 EDT 2009 PASS: (123) Power Check Tue Mar 17 01:30:54 EDT 2009 ** FAIL: (123) Power Check Tue Mar 17 03:08:16 EDT 2009 PASS: (123) Power Check O que estou tentando é o seguinte: Mon Mar 16 11:37:07 EDT 2009, PASS: (123) Power Check Mon Mar 16 12:31:10 EDT 2009, PASS: (123) Power Check Tue Mar 17 01:30:54 EDT 2009, ** FAIL: (123) Power Check Tue Mar 17 03:08:16 EDT 2009, PASS: (123) Power Check Além disso, estou procurando uma maneira de apenas puxar as informações de um determinado prazo (por exemplo, a data atual - 7 dias), mas eu vou preocupar com isso mais tarde .. bebê passos ... ![]() O sistema é Unix (HP-UX) para awk, perl, Ou sed são opções. Obrigado por qualquer ajuda .. Paul |
|
||||
|
#! / usr / bin /perl -w
use strict; open (FH, 'txt'); my $ fb \u003d 0; my @ str; while (my $ linha \u003d <FH>) ( chomp ($ linha); if ($ linha \u003d ~ m / Diags começar /) ( $ fb \u003d 1; ) if ($ fb & &! ($ linha \u003d ~ m / Diags começar / | | $ linha \u003d ~ m / Diags final /)) ( push @ str, $ linha; ) if ($ linha \u003d ~ m / Diags final /) ( my $ x \u003d join "", @ str; print "$ x \ n"; @ str \u003d (); $ fb \u003d 0; ) ) Tente este Felicidades Última edição por daptal; em 03/17/2009 11:36.. Motivo: saída |
|
||||
|
ok, obrigado pelas boas ideias .. "hacking" e depois de alguns testes eu finalmente tenho a saída em um formato viável usar awk.
I've outputted os resultados para um arquivo ASCII delimitados por vírgula em um formato .. meu arquivo de saída é chamado tstres.txt típico e linhas no arquivo parecido com isto: TSTR01, 29 mar 21:29:17 EDT 2009, PASS:, Power Check TSTR01, Mar 30 00:54:55 EDT 2009, PASS:, Power Check TSTR01, Mar 30 08:31:31 EDT 2009, ** FAIL:, Power Check TSTR02, Mar 07 14:41:08 EST 2009, PASS:, Power Check TSTR02, Mar 07 21:46:33 EST 2009, PASS:, Power Check Qual é a forma mais fácil de tomar este arquivo de dados e saída para um html mesa? Meu plano é ter o script executado em um trabalho do cron e tudo que eu preciso fazer é ver a página html. |
![]() |
| Marcadores |
| Thread Tools | Pesquisar este Thread |
| Display Modes | Esta taxa Thread |
|
|