The UNIX and Linux Forums  

Go Back   UNIX og Linux Forums > Top Forums > UNIX for Advanced & Ekspertsøgning Brugere
.
google unix.com



UNIX for Advanced & Ekspertsøgning Brugere Expert-til-ekspert. Lær avancerede UNIX, UNIX-kommandoer, Linux operativsystemer, systemadministration, programmering, Shell, Shell Scripts, Solaris, Linux, HP-UX, AIX, OS X, BSD.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
Udvinder Tekst krabu Shell Programmering og Scripting 3 04-07-2009 04:16 AM
udvinding af tekst og genbrug af teksten for at omdøbe filen JohnDS UNIX for dummyer Spørgsmål & svar 7 02-05-2009 03:55 AM
Udtrække oplysninger fra Config filer / tekstbehandling oconmx Shell Programmering og Scripting 3 01-21-2009 07:09 PM
Hjælp kræves for at erstatte teksten i VI Chandu2u Shell Programmering og Scripting 6 01-26-2008 11:12 AM
Hjælp kræves om udvinding linjer fra en fil google_ever Shell Programmering og Scripting 1 10-12-2005 08:02 AM

Reply
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Søg denne tråd Karakter: Thread Rating: 1 votes, 4.00 average. Display Modes
  #1 (permalink)  
Old 06-20-2009
hareeshram hareeshram is offline
Registreret Bruger
  
 

Join Date: Mar 2007
Sted: Chennai
Stillinger: 3
Udvinding af de krævede tekst fra logfiler

Det ville være meget mærkbar, hvis en hjælper mig i dette. Jeg forsøger at få det gjort ved hjælp af Java, men jeg elsker Unix og mener, at det kan ske inden for få minutter med par linjer.

Input log-fil er en tekstfil indeholder flere poster adskilt af en tom linje.
Hver adskilt indrejse svarer til opgraderingsproces oplysninger i en fil.

! ENTRY tekst .....< INFO> eller <OKAY> <RESOURCE: /test/src/com/test1/*/test.java> 2009-06-18 13:01:01.181
! MESSAGE oplysningssøgende opgradere rapport for filen: test.java

! ENTRY tekst .....< INFO> eller <OKAY> <RESOURCE: /test/src/com/test1/*/test1.java> 2009-06-18 13:01:01.181
! MESSAGE oplysninger i test1.java vil blive opgraderet.
! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: fulde sti /file name> 2009-06-18 13:02:25.681
! Besked vil tilføje import af org.apache.beehive.netui.pageflow.annotations.Jpf for fælles programmeringsramme annotation støtte.

Hver Entry starter med "! ENTRY" som vist ovenfor og vil blive fulgt af teksten "com.bea.workshop.upgrade81" og så vil det blive efterfulgt af
to typer af tags: <OKAY> og <INFO>
Og så vil det blive efterfulgt af tag <RESOURCE: som indeholder den fulde sti til filen, og derefter følges af tid stempel, som vist ovenfor.

Hvis det er <OKAY>, derefter anden linje vil være som nedenfor
! MESSAGE oplysningssøgende opgradere rapport for filen: filnavn (som ikke er af stor betydning for min produktion)

Ex:
! ENTRY tekst .....< INFO> eller <OKAY> <RESOURCE: /test/src/com/test1/*/test.java> 2009-06-18 13:01:01.181
! MESSAGE oplysningssøgende opgradere rapport for filen: filnavn

Hvis det er <INFO> så også anden linje vil gerne
! MESSAGE oplysningssøgende opgradere rapport for fil: Filnavn
Men det vil helt sikkert blive fulgt af et andet sæt af flere linje par starter med tags! SUBENTRY,! MESSAGE gerne nedenfor

! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: path/filename> 2009-06-18 13:02:25.681
! Besked vil tilføje import af org.apache.beehive.netui.pageflow.annotations.Jpf for fælles programmeringsramme annotation støtte.


Mine krav er som nedenfor:

Krav 1

1) For alle indgange, der indeholder <OKAY> oereklip, jeg har brug for at udpakke filnavne, der vil blive efter <RESOURCE :..... og før tid stempel
Bemærk posterne er adskilt af en tom linje

Krav 2

2) For alle strækninger med <INFO> oereklip, jeg vil gerne have en tekstfil med poster som denne

Fulde sti og filnavn og derefter i den næste linje
Alle teksten efter! MESAAGE ret under linjen containg taggen af tilsvarende "! SUBENTRY 1" tags


Eksempel Input:
\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d
! ENTRY com.bea.workshop.upgrade81 <OKAY> <RESOURCE: /fullpathr/Test.java> 2009-06-18 13:02:28.368
! MESSAGE oplysningssøgende opgradere rapport for filen: Test.java

! ENTRY com.bea.workshop.upgrade81 <OKAY> <RESOURCE: /fullpath/Test1.jpf> 2009-06-18 13:02:28.384
! MESSAGE oplysningssøgende opgradere rapport for filen: Test1.jpf

! ENTRY com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test2.jpf> 2009-06-18 13:02:28.447
! MESSAGE oplysningssøgende opgradere rapport for filen: Test2.jpf
! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test2.jpf> 2009-06-18 13:02:28.447
! MESSAGE Java 5 annotation Jpf.Controller skal tilføjes.
! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test2.jpf> 2009-06-18 13:02:28.447
! MESSAGE Mere annotation af Jpf.Action skal tilføjes.

! ENTRY com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634
! MESSAGE oplysningssøgende opgradere rapport for filen: Test3.jpf
! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634
! MESSAGE Java 5 annotation Jpf.Controller skal tilføjes.
! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634
! Besked vil tilføje import af org.apache.beehive.netui.pageflow.annotations.Jpf for fælles programmeringsramme annotation støtte.
! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634
! MESSAGE ABC, der skal føjes til.


Produktion til requirement1:
\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d
Test.java
Test1.jpf

Produktion til requirement2:
\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d
/ fullpath/Test2.jpf
Java 5 annotation Jpf.Controller skal tilføjes.
Mere annotation af Jpf.Action skal tilføjes.

/ fullpath/Test3.jpf
Java 5 annotation Jpf.Controller skal tilføjes.
Vil tilføje import af org.apache.beehive.netui.pageflow.annotations.Jpf for fælles programmeringsramme annotation støtte.
ABC, der skal føjes til.

Sidst redigeret af hareeshram; 06-20-2009 på 10:09 AM..
  #2 (permalink)  
Old 06-20-2009
scottn scottn is online now Forum Advisor  
VIP medlem
  
 

Join Date: Jun 2009
Beliggenhed: Zürich, CH
Stillinger: 1119
Det fungerer, men formentlig kun, hvis dit input er præcist som du har beskrevet!


Code:
echo "Output from requirement 1"
echo "========================="
grep "<OKAY>.*RESOURCE" infile | sed -e "s/.*RESOURCE:.*\/\(.*\)>.*/\1/" | sort -u

echo
echo "Output from requirement 2"
echo "========================="
awk '
  /^!ENTRY.*<INFO>/ { X = 1; sub( /.*RESOURCE: /, "", $0 ); sub( />.*/, "", $0 ); print }
  (X == 1) && (/^!SUBENTRY/) { X++ }
  (X > 1) && ($1 ~ /^!MESSAGE/) { sub( /!MESSAGE /, "", $0 ); print }
  (X > 1) && ($1 ~ /^$/) { print ""; X = 0 }
' infile
 
 
Output:
Output from requirement 1
=========================
Test1.jpf
Test.java
 
Output from requirement 2
=========================
/fullpath/Test2.jpf
The Java 5 annotation Jpf.Controller needs to be added.
More annotation of Jpf.Action needs to be added.
 
/fullpath/Test3.jpf
The Java 5 annotation Jpf.Controller needs to be added.
Will add import of org.apache.beehive.netui.pageflow.annotations.Jpf for JPF annotation support.
ABC needs to be added.


Sidst redigeret af scottn; 06-20-2009 på 11:44 AM..
  #3 (permalink)  
Old 06-20-2009
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
narkoman
  
 

Join Date: Jan 2007
Beliggenhed: Варна, България / Milano, Italia
Indlæg: 2.926
Anvendelse gawk, nawk eller /usr/xpg4/bin/awkSolaris:

1.


Code:
awk '/<OKAY>/ { 
  sub(/>[^>]*$/, "")
  n = split($0, t, "/")
  print t[n]   
  }' infile

2.


Code:
awk '!NF { f = 0 }
/^!ENTRY.*<INFO>/ {
  sub(/>[^>]*$/, "")
  sub(/.*RESOURCE: /, "")
  print; f = 1
  }  
f && /!SUBENTRY/ { f++ }   
f > 1 && sub(/!MESSAGE /, "")
' infile


Sidst redigeret af radoulov; 06-20-2009 på 11:48 AM..
Bits Awarded / Debiteret til radoulov til dette indlæg
Dato Bruger Kommentar Mængde
06-22-2009 hareeshram Thanks for the smart løsning! 200
  #4 (permalink)  
Old 06-20-2009
scottn scottn is online now Forum Advisor  
VIP medlem
  
 

Join Date: Jun 2009
Beliggenhed: Zürich, CH
Stillinger: 1119
Kølig!

Du vinder
  #5 (permalink)  
Old 06-20-2009
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
narkoman
  
 

Join Date: Jan 2007
Beliggenhed: Варна, България / Milano, Italia
Indlæg: 2.926
Citat:
Oprindeligt Indsendt af scottn View Post
Kølig!

Du vinder
Nej,
Jeg har brug for at gøre koden mere generisk (Jeg har lige ændret den til at fjerne den specifikke kolonner henvisninger).

Sidst redigeret af radoulov; 06-20-2009 på 12:08 PM.. Årsag: forkert erklæring:), dit output er korrekt
  #6 (permalink)  
Old 06-22-2009
hareeshram hareeshram is offline
Registreret Bruger
  
 

Join Date: Mar 2007
Sted: Chennai
Stillinger: 3
Det var så hurtig og præcis!

Takket scottn og radoulov.
Det virkede fint for mig

Jeg har en lille ændring i format, som jeg ville forvente for begge krav. Håber du vil foreslå mig.

Krav 1:

Filnavnene bør komme med fuld stier

Krav 2:
Efter filnavnet (med fulde sti), uanset de beskeder, der vises (en besked til en linje), de skal vises uden nogen overlapning (det samme budskab i følgende linjer bør fjernes) pr indrejse og alle ikke overlappes optegnelser skal separted af et komma (snarere end nye linje "). I modsætning til i ovennævnte sag, både fil og kommasepareret indlæg bør komme i enkelt linje.

Endnu en gang mange mange tak for at holde min ånd op i UNIX.

Eksempel input
\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d

Eksempel Input:
\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d
! ENTRY com.bea.workshop.upgrade81 <OKAY> <RESOURCE: /fullpath/Test.java> 2009-06-18 13:02:28.368
! MESSAGE oplysningssøgende opgradere rapport for filen: Test.java

! ENTRY com.bea.workshop.upgrade81 <OKAY> <RESOURCE: /fullpath/Test1.jpf> 2009-06-18 13:02:28.384
! MESSAGE oplysningssøgende opgradere rapport for filen: Test1.jpf

! ENTRY com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test2.jpf> 2009-06-18 13:02:28.447
! MESSAGE oplysningssøgende opgradere rapport for filen: Test2.jpf
! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test2.jpf> 2009-06-18 13:02:28.447
! MESSAGE Java 5 annotation Jpf.Controller skal tilføjes.
! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test2.jpf> 2009-06-18 13:02:28.447
! MESSAGE Mere annotation af Jpf.Action skal tilføjes.

! ENTRY com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634
! MESSAGE oplysningssøgende opgradere rapport for filen: Test3.jpf
! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634
! MESSAGE Java 5 annotation Jpf.Controller skal tilføjes.
! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634
! MESSAGE Java 5 annotation Jpf.Controller skal tilføjes.
! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634
! Besked vil tilføje import af org.apache.beehive.netui.pageflow.annotations.Jpf for fælles programmeringsramme annotation støtte.
! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634
! MESSAGE ABC, der skal føjes til.
! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634
! MESSAGE ABC, der skal føjes til.


Produktion til requirement1:
\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d
/ fullpath / Test.java
/ fullpath/Test1.jpf

Produktion til requirement2:
\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d
/ fullpath/Test2.jpf (adskilt af fanen) Java 5 annotation Jpf.Controller der skal føjes til, Mere annotation af Jpf.Action skal tilføjes.
/ fullpath/Test3.jpf (adskilt af fanen) Java 5 annotation Jpf.Controller der skal føjes til, vil øge importen af org.apache.beehive.netui.pageflow.annotations.Jpf for fælles programmeringsramme annotation støtte, ABC, der skal føjes til .
Reply

Bogmærker

Tags
log ekstrakt

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 06:10 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0