The UNIX and Linux Forums  


Go Back   A UNIX és Linux Forums > Top Fórumok > Shell programozás és Scripting
.
google unix.com



Shell programozás és Scripting Post kérdések KSH, CSH, SH, Bash, Perl, PHP, SED, AWK ÉS EGYÉB shell szkriptek és shell script nyelvek itt.

Több, UNIX és Linux fórum témák Ön által talált Hasznos
Szál Thread Starter Fórum Válaszok Utolsó hozzászólás
Hogyan CONCATENATE követő tételek shivi707 UNIX Desktop dummies Kérdések és válaszok 1 01-12-2009 09:08 AM
szükségességét, hogy összekapcsol két sor, ha a sor végén doesnt idézőjelekkel laxmi131 A UNIX a fejlett és szakértői Felhasználók 9 10-27-2008 07:22 AM
összekapcsol és kijelző 2 sor, mint az 1. feltétele a 2 vonal? vithala Shell programozás és Scripting 7 07-11-2008 02:01 AM
Need megoldás összekapcsol és kijelző 2 sor, mint az 1. feltétele a 2 vonal? vithala A UNIX a fejlett és szakértői Felhasználók 1 07-10-2008 02:27 PM
Kinyerő naplófájl bejegyzések harpdl Shell programozás és Scripting 2 07-13-2006 02:40 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Téma eszközök Keresés a téma Rate Thread Megjelenítési módok
  #1 (permalink)  
Old 03-17-2009
BecTech BecTech is offline
Regisztrált felhasználó
  
 

Join Date: Mar 2009
Hozzászólások: 2
Naplózás - kinyerő bizonyos sorokat összekapcsol az 1 vonal

Van egy log fájl automatikus diagnosztikai fut. A naplófájl minden egyes alkalommal mellékelt automatikus fut be.
Szeretném, hogy csak bizonyos vonalakon húzza minden fut a log fájlt, és összefűzni őket vesszővel elválasztott 1 tétel (az export-ba vagy html excel táblázat).

Egyes diagnosztikai fut a zárójeles egy kezdete és vége komment így vagyok képes a csoport is így vagyok, de sikerül egyre mindent 1 vonal.

Jellemző adat:

Diags kezd.
K március 17 18:07:34 CET 2009

PASS: (123) Power Check
.
.
[Több adat]
Diags vége.
Diags kezd.
K március 17 19:09:22 CET 2009

FAIL: (123) Power Check
.
leírás: Feszültség clamp
.
. [További adatok hiányában Részletek]
.
Diags vége.


Azt akarom, hogy időbélyeg, vizsgálati eredmény (a 123 vizsgálat)


Voltam képes-hoz használ awk hogy közelebb, de én nem egészen értem.

awk '/ Diags begin (getline; print); (if ($ 2 \u003d\u003d "(123)") print $ 1, $ 2, $ 3, $ 4)'

Ez ad nekem:

Mon Mar 16 11:37:07 CET 2009
PASS: (123) Power Check
Mon Mar 16 12:31:10 CET 2009
PASS: (123) Power Check
Tue Mar 17 01:30:54 CET 2009
** FAIL: (123) Power Check
Tue Mar 17 03:08:16 CET 2009
PASS: (123) Power Check



Amit én próbálok is:
Mon Mar 16 11:37:07 CET 2009, PASS: (123) Power Check
Mon Mar 16 12:31:10 CET 2009, PASS: (123) Power Check
Tue Mar 17 01:30:54 CET 2009, ** FAIL: (123) Power Check
Tue Mar 17 03:08:16 CET 2009, PASS: (123) Power Check


Is, keresem a módját, hogy csak húzza az információkat egy bizonyos időn (például az aktuális dátum - 7 nap), de fogok aggódni, hogy később .. baby lép ...

A rendszer a Unix (HP-UX), így awk, perlVagy sed lehetőségről van szó.

Thanks for any help ..

Paul
  #2 (permalink)  
Old 03-17-2009
daptal daptal is online now
Regisztrált felhasználó
  
 

Join Date: Mar 2009
Hozzászólások: 64
#! / usr / bin /perl -w

use strict;

open (FH, 'txt');
my $ fb \u003d 0;
my @ str;
while (my $ line \u003d <FH>) (
Chomp ($ line);
if ($ sor \u003d ~ m / Diags begin) (
$ fb \u003d 1;
)
if ($ fb & &! ($ line \u003d ~ m / Diags kezdődik / | | $ sor \u003d ~ m / Diags vége /)) (
push @ str, $ line;
)
if ($ sor \u003d ~ m / Diags vége /) (
my $ x \u003d join "", @ str;
print "$ x \ n";
@ str \u003d ();
$ fb \u003d 0;
)
)

Try this

Egészségére

Last edited by daptal; 03-17-2009 at 11:36 PM.. Reason: output
  #3 (permalink)  
Old 03-18-2009
PMM pmm is offline
Regisztrált felhasználó
  
 

Join Date: Dec 2008
Hozzászólások: 50
Alábbiakat az awk script - use printf:

Kód:
awk '/Diags begin/{getline;printf};{if ($2=="(123)") print ","$1,$2,$3,$4}'
  #4 (permalink)  
Old 03-30-2009
BecTech BecTech is offline
Regisztrált felhasználó
  
 

Join Date: Mar 2009
Hozzászólások: 2
ok, kösz a jó ötleteket .. után némi hackelés és tesztelés végre megvan a kimenetet egy működőképes formátumban awk.

I've outputted az eredményeket egy ASCII fájlt egy vesszővel tagolt formátumban ..
én kimeneti fájl neve tstres.txt
és a tipikus sorokat a fájl így néz ki:

TSTR01, Mar 29 21:29:17 CET 2009, PASS:, Power Check
TSTR01, Mar 30 00:54:55 CET 2009, PASS:, Power Check
TSTR01, Mar 30 08:31:31 CET 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

Mi a legegyszerűbb módja, hogy ezt a fájl-és kimeneti adatok, hogy egy html táblázatot?

A tervem az, hogy a szkript fut a cron feladatként, és minden, amit kell majd tennie, hogy a HTML-oldalt.
Closed Thread

Könyvjelzõk

Téma eszközök Keresés a téma
Keresés a téma:

Részletes keresés
Megjelenítési módok Rate this thread
Rate this thread:

Posting szabályzat
Ön nem post new threads
Ön nem post válaszok
Ön nem post Csatolmányok
Ön nem szerkeszteni az üzeneteidet

BB kód van Be
Smilies vannak Be
[IMG] kód Be
HTML kód Ki
Trackbacks vannak Be
Pingbacks vannak Be
Refbacks vannak Be




Minden idő GMT -4. Az idő most 01:51 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Nyelvre lefordítva Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
A UNIX és Linux Fórum Tartalom Copyright © 1993-2009. Minden jog Reserved.Ad menedzsment RedTyger

Content Relevant URLs by vBSEO 3.2.0