![]() |
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier. |
Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
|
||||
| Faden | Thread Starter | Forum | Antworten | Last Post |
| Wie Zusammenfügen aufeinander folgenden Zeilen | shivi707 | UNIX-Desktop für Dummies Fragen & Antworten | 1 | 01-12-2009 09:08 AM |
| zu verketten zwei Zeilen, wenn die Linie doesnt Ende mit Zitaten | laxmi131 | UNIX für Fortgeschrittene und Experten | 9 | 10-27-2008 07:22 AM |
| Zusammenfügen und-Display 2 Zeilen als 1 mit einer Voraussetzung für die 2 Zeilen? | vithala | Shell Programmierung und Scripting | 7 | 07-11-2008 02:01 AM |
| Brauchen Lösung Zusammenfügen und Display 2 Zeilen als 1 mit einer Voraussetzung für die 2 Zeilen? | vithala | UNIX für Fortgeschrittene und Experten | 1 | 07-10-2008 02:27 PM |
| Extrahieren von Logfile-Einträge | harpdl | Shell Programmierung und Scripting | 2 | 07-13-2006 02:40 PM |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|
|
||||
|
Logfile - Gewinnung bestimmter Linien Zusammenfügen in 1 Zeile
Ich habe eine Log-Datei von der automatischen Diagnose läuft. Die Log-Datei angehängt, um jedes Mal eine automatische Protokoll wird.
Ich möchte nur einige Linien ziehen aus jedem Lauf in der Log-Datei, und zu verketten in 1 Komma getrennt Zeile (für den Export in Excel oder einer HTML-Tabelle). Jede Diagnose-Lauf wird in Klammern mit einem Kommentar beginnen und enden, so kann ich die Gruppe, dass die Art und Weise, aber ich bin mit Mühe, alles in 1 Zeile. Typische Daten: Diags beginnen. Dienstag 17 März 18:07:34 CEST 2009 PASS: (123) Power Check . . [mehr Daten] Diags Ende. Diags beginnen. Dienstag 17 März 19:09:22 CEST 2009 FAIL: (123) Power Check . Beschreibung: Voltage Clamp . . [mehr Daten nicht details] . Diags Ende. Ich möchte, dass die Zeitstempel-, Test-Ergebnis (für den 123-Test) Ich konnte awk zu verwenden, um eine enge, aber ich kann nicht recht bekommen. awk '/ Diags begin / (getline; print); (if ($ 2 \u003d\u003d "(123)") print $ 1, $ 2, $ 3, $ 4)' Dies gibt mir: Mon Mar 16 11:37:07 CEST 2009 PASS: (123) Power Check Mon Mar 16 12:31:10 CEST 2009 PASS: (123) Power Check Tue Mar 17 01:30:54 CEST 2009 ** FAIL: (123) Power Check Tue Mar 17 03:08:16 CEST 2009 PASS: (123) Power Check Ich bin versucht, ist: Mon Mar 16 11:37:07 CEST 2009, PASS: (123) Power Check Mon Mar 16 12:31:10 CEST 2009, PASS: (123) Power Check Tue Mar 17 01:30:54 CEST 2009, ** FAIL: (123) Power Check Tue Mar 17 03:08:16 CEST 2009, PASS: (123) Power Check Auch ich bin auf der Suche nach einer Möglichkeit, nur ziehen Sie die Informationen für einen bestimmten Zeitraum (zum Beispiel das aktuelle Datum - 7 Tage), aber ich Angst, dass später .. Baby-Schritte ... ![]() Das System ist Unix (HP-UX), so awk, perlOder sed sind die Optionen. Vielen Dank für jede Hilfe .. Paul |
|
||||
|
#! / usr / bin /perl -w
use strict; open (FH, "txt"); my $ fb \u003d 0; my @ str; while (my $ line \u003d <FH>) ( chomp ($ line); if ($ line \u003d ~ m / Diags begin /) ( $ fb \u003d 1; ) if ($ fb & &! ($ line \u003d ~ m / Diags begin / | | $ line \u003d ~ m / Diags Ende /)) ( Push @ str, $ line; ) if ($ line \u003d ~ m / Diags Ende /) ( my $ x \u003d join "", @ str; print "$ x \ n"; @ str \u003d (); $ fb \u003d 0; ) ) Versuchen Sie, diese Prost Zuletzt bearbeitet von daptal; am 03-17-2009 11:36 PM.. Grund: output |
|
||||
|
ok, danke für die guten Ideen .. nach einigem Hacken und Erprobung ich endlich die Ausgabe in ein praktikables Format mit awk.
Ich habe die Ergebnisse ausgegeben, um eine ASCII-Datei in ein Komma getrenntes Format .. Meine Ausgabe-Datei wird tstres.txt und typische Zeilen in der Datei sieht wie folgt aus: TSTR01, Mar 29 21:29:17 CEST 2009, PASS:, Power Check TSTR01, Mar 30 00:54:55 CEST 2009, PASS:, Power Check TSTR01, Mar 30 08:31:31 CEST 2009, ** FAIL:, Power Check TSTR02, Mar 07 14:41:08 CEST 2009, PASS:, Power Check TSTR02, Mar 07 21:46:33 CEST 2009, PASS:, Power Check Was ist der einfachste Weg, diese Datei und die Ausgabe, die es zu einer HTML-Tabelle? Mein Plan ist es, das Skript in einem cron-Job und alles, was ich dann tun müssen, ist die HTML-Seite. |
![]() |
| Lesezeichen |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|