![]() |
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Regler | Links | Albums | FAQ | Members List | Kalender | Søgning | Dagens Stillinger | Mark Forums Read |
| 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 |
![]() |
|
|
LinkBack | Thread Tools | Søg denne tråd |
Karakter:
|
Display Modes |
|
|
|
||||
|
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.. |
|
||||
|
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.. |
| 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 |
|
|||||
|
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 |
|
||||
|
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 . |
![]() |
| Bogmærker |
| Tags |
| log ekstrakt |
| Thread Tools | Søg denne tråd |
| Display Modes | Bedøm denne tråd |
|
|