![]() |
Hej og Velkommen fra USA til UNIX og Linux Forums! Tak for dit besøg og deltager i vores globale samfund.
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Regler | Links | Albums | FAQ | Members List | Kalender | Søgning | Dagens Stillinger | Mark Forums Read |
| Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her. |
Mere UNIX og Linux Forum Emner du måske kan finde Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Last Post |
| Sådan concatenate hinanden følgende linjer | shivi707 | UNIX Desktop til dukkerne Spørgsmål & svar | 1 | 01-12-2009 09:08 AM |
| behovet for at concatenate to linjer, hvis linjen doesnt ende med citater | laxmi131 | UNIX for Advanced & Ekspertsøgning Brugere | 9 | 10-27-2008 07:22 AM |
| concatenate og vise 2 linjer som 1 med en betingelse for 2 linje? | vithala | Shell Programmering og Scripting | 7 | 07-11-2008 01:01 AM |
| Behov løsning concatenate og vise 2 linjer som 1 med en betingelse for 2 linje? | vithala | UNIX for Advanced & Ekspertsøgning Brugere | 1 | 07-10-2008 01:27 PM |
| Udvinder logfil Angivelser | harpdl | Shell Programmering og Scripting | 2 | 07-13-2006 01:40 PM |
![]() |
|
|
LinkBack | Thread Tools | Søg denne tråd | Rate Thread | Display Modes |
|
|
|
||||
|
Logfile - udvinde visse linjer til concatenate i 1 line
Jeg har fået en log-fil fra automatiske diagnostiske løber. Logfilen er knyttet til hver gang en automatisk log køres.
Jeg vil gerne bare trække nogle linjer fra hver kører i logfilen, og sammenkæde dem i 1 kommasepareret linje (til eksport til Excel eller en HTML-tabel). Hver diagnostisk run er efterfølges af en begynder og slutter kommentar, så jeg er i stand til at gruppere det på den måde, men jeg har problemer med at få alt i 1 linje. Typiske data: Diags begynde. Ti 17 marts 18:07:34 EDT 2009 PASS: (123) Power Check . . [flere data] Diags ende. Diags begynde. Ti 17 marts 19:09:22 EDT 2009 FAIL: (123) Power Check . Beskrivelse: Spænding klemme . . [mere manglende data detaljer] . Diags ende. Jeg ønsker, at tidsstemplet testresultatet (for 123 test) Jeg var i stand til at bruge awk at komme tæt, men jeg kan ikke helt få det. awk '/ Diags begynde / (getline; print); (if ($ 2 \u003d\u003d "(123)") print $ 1, $ 2, $ 3, $ 4)' Det giver mig: 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 Hvad jeg prøver at få er: 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 Også, jeg leder efter en måde at bare trække oplysninger for en bestemt tidsramme (for eksempel den aktuelle dato - 7 dage), men jeg vil bekymre sig om det senere .. baby skridt ... ![]() Systemet er Unix (HP-UX), så awk, perlEller sed er muligheder. Tak for enhver hjælp .. Paul |
|
||||
|
#! / usr / bin /perl -w
brug strenge; open (FH, 'txt'); my $ fb \u003d 0; my @ str; while (my $ line \u003d <FH>) ( chomp ($ line); if ($ line \u003d ~ m / Diags begynder /) ( $ fb \u003d 1; ) if ($ fb & &! ($ line \u003d ~ m / Diags begynder / | | $ line \u003d ~ m / Diags udgangen /)) ( push @ str, $ line; ) if ($ line \u003d ~ m / Diags udgangen /) ( my $ x \u003d join "", @ str; print "$ x \ n"; @ str \u003d (); $ fb \u003d 0; ) ) Prøv dette Skål Senest redigeret af daptal; 03-17-2009 kl 11:36 PM.. Årsag: output |
|
||||
|
ok, tak for de gode ideer .. efter nogle hacking og afprøvning jeg endelig fik den udgang i et brugbart format ved hjælp awk.
Jeg har outputted resultaterne til en ASCII-fil i en kommasepareret format .. mit output fil kaldes tstres.txt og typiske linjer i filen ser sådan ud: TSTR01, Mar 29 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 Hvad er den nemmeste måde at tage denne datafil og output det til en HTML-tabel? Min plan er at få scriptet køres i et cron-job, og jeg bliver nødt til at gøre, er at se HTML-side. |
![]() |
| Bogmærker |
| Thread Tools | Søg denne tråd |
| Display Modes | Bedøm denne tråd |
|
|