![]() |
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| UNIX för avancerade & Expertanvändare Expert-to-experten. Läs avancerade UNIX UNIX-kommandon, Linux operativsystem, systemadministration, programmering, Shell, Shell Scripts, Solaris, Linux, HP-UX, AIX, OS X, BSD. |
Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Senaste Inlägg |
| Extrahera Text | krabu | Shell-programmering och Skript | 3 | 04-07-2009 04:16 |
| text-och återanvända den text som ska byta namn på filen | JohnDS | UNIX for Dummies Frågor & Svar | 7 | 02-05-2009 03:55 |
| Extrahera information från konfigurationsfiler / textbehandling | oconmx | Shell-programmering och Skript | 3 | 01-21-2009 07:09 |
| hjälp som krävs för att ersätta text i VI | Chandu2u | Shell-programmering och Skript | 6 | 01-26-2008 11:12 |
| Hjälp krävs om Extrahera rader från en fil | google_ever | Shell-programmering och Skript | 1 | 10-12-2005 08:02 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd |
Omdöme:
|
Visningslägen |
|
|
|
||||
|
Utvinna krävs text från loggfiler
Det skulle vara mycket märkbar om någon hjälper mig i detta. Jag försöker få det gjort med hjälp av Java, men jag älskar Unix och tror att det kan ske inom några minuter med några rader.
Input loggfilen är en textfil som innehåller flera poster separerade med en tom rad. Varje separerade posten motsvarar uppgraderingsprocessen information i en fil. ! INRESA text .....< INFO> eller <OKAY> <RESOURCE: /test/src/com/test1/*/test.java> 2009-06-18 13:01:01.181 ! MESSAGE Ansökande uppgradera rapport för ärende: test.java ! INRESA text .....< INFO> eller <OKAY> <RESOURCE: /test/src/com/test1/*/test1.java> 2009-06-18 13:01:01.181 ! MESSAGE information test1.java kommer att uppgraderas. ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: fullständig sökväg /file namn> 2009-06-18 13:02:25.681 ! MESSAGE lägger import av org.apache.beehive.netui.pageflow.annotations.Jpf för gemensamma ramen beskrivningsdialogrutan stöd. Varje post börjar med "! INRESA" enligt ovan och kommer att följas av texten "com.bea.workshop.upgrade81" och sedan kommer den att följas av två typer av taggar: <OKAY> och <INFO> Och sedan kommer den att följas av taggen <RESOURCE: som innehåller den fullständiga sökvägen till filen och sedan följas av Temne stämpel som visas ovan. Om det är <OKAY> sedan andra linjen kommer att vara så under ! MESSAGE Ansökande uppgradera rapport för filen: filnamn (som inte är av stor vikt för min produktion) Ex: ! INRESA text .....< INFO> eller <OKAY> <RESOURCE: /test/src/com/test1/*/test.java> 2009-06-18 13:01:01.181 ! MESSAGE Ansökande uppgradera rapport för filen: filnamn Om det är <INFO> då även andra raden kommer att se ut ! MESSAGE Ansökande uppgradera rapport för ärende: filename Men det kommer säkerligen att följas av en annan uppsättning av flera linje par börjar med taggar! SUBENTRY,! MESSAGE gärna nedan ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: path/filename> 2009-06-18 13:02:25.681 ! MESSAGE lägger import av org.apache.beehive.netui.pageflow.annotations.Jpf för gemensamma ramen beskrivningsdialogrutan stöd. Mitt krav är som nedan: Krav 1 1) För alla poster med <OKAY> tag, jag behöver för att extrahera filnamn som kommer att efter <RESOURCE :..... och före Temne stämpel Observera posterna skiljs åt med en tom rad Krav 2 2) För alla linjer med <INFO> tag skulle jag vilja ha en textfil med poster som denna Fullständig sökväg och filnamn och sedan i nästa rad Hela texten efter! MESAAGE rätt under linjen som innehåller taggen motsvarande "! SUBENTRY 1" taggar Exempel 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 ! INRESA com.bea.workshop.upgrade81 <OKAY> <RESOURCE: /fullpathr/Test.java> 2009-06-18 13:02:28.368 ! MESSAGE Ansökande uppgradera rapport för ärende: Test.java ! INRESA com.bea.workshop.upgrade81 <OKAY> <RESOURCE: /fullpath/Test1.jpf> 2009-06-18 13:02:28.384 ! MESSAGE Ansökande uppgradera rapport för ärende: Test1.jpf ! INRESA com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test2.jpf> 2009-06-18 13:02:28.447 ! MESSAGE Ansökande uppgradera rapport för ärende: Test2.jpf ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test2.jpf> 2009-06-18 13:02:28.447 ! MESSAGE Java 5 beskrivningsdialogrutan Jpf.Controller läggas till. ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test2.jpf> 2009-06-18 13:02:28.447 ! MESSAGE Mer beskrivningsdialogrutan av Jpf.Action läggas till. ! INRESA com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634 ! MESSAGE Ansökande uppgradera rapport för ärende: Test3.jpf ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634 ! MESSAGE Java 5 beskrivningsdialogrutan Jpf.Controller läggas till. ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634 ! MESSAGE lägger import av org.apache.beehive.netui.pageflow.annotations.Jpf för gemensamma ramen beskrivningsdialogrutan stöd. ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634 ! MESSAGE ABC läggas till. Utgång för 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 Utgång för 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 beskrivningsdialogrutan Jpf.Controller läggas till. Mer beskrivningsdialogrutan av Jpf.Action läggas till. / fullpath/Test3.jpf Java 5 beskrivningsdialogrutan Jpf.Controller läggas till. Kommer lägga till import av org.apache.beehive.netui.pageflow.annotations.Jpf för gemensamma ramen beskrivningsdialogrutan stöd. ABC läggas till. Senast redigerad av hareeshram; 06-20-2009 vid 10:09.. |
|
||||
|
Detta verk, men förmodligen bara om ditt bidrag är precis som du beskrev!
Kod:
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.
Senast redigerad av scottn; 06-20-2009 vid 11:44.. |
| Bits Awarded / belasta radoulov för det här inlägget | |||
| Datum | Användare | Kommentera | Belopp |
| 06-22-2009 | hareeshram | Tack för smart lösning! | 200 |
|
||||
|
Det var så snabb och korrekt!
Tack scottn och radoulov.
Det fungerade bra för mig Jag har en liten förändring i form att jag skulle förvänta sig för både krav. Hoppas du vill föreslå mig. Krav 1: Filnamnen bör komma med fullständiga sökvägar Krav 2: Efter filnamnet (med fullständig sökväg), oavsett vilka meddelanden som visas (ett budskap till en linje), de skall visas utan dubbelarbete (samma meddelande i följande rader ska tas bort) per post och alla icke dubbleras uppgifter skall separted med kommatecken (snarare än nya linjen "). skillnad i ovanstående fall, både fil och kommaavgränsade meddelanden skall komma i samma rad. Återigen många tack för att hålla min anda i Unix. Exempel ingång \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d Exempel 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 ! INRESA com.bea.workshop.upgrade81 <OKAY> <RESOURCE: /fullpath/Test.java> 2009-06-18 13:02:28.368 ! MESSAGE Ansökande uppgradera rapport för ärende: Test.java ! INRESA com.bea.workshop.upgrade81 <OKAY> <RESOURCE: /fullpath/Test1.jpf> 2009-06-18 13:02:28.384 ! MESSAGE Ansökande uppgradera rapport för ärende: Test1.jpf ! INRESA com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test2.jpf> 2009-06-18 13:02:28.447 ! MESSAGE Ansökande uppgradera rapport för ärende: Test2.jpf ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test2.jpf> 2009-06-18 13:02:28.447 ! MESSAGE Java 5 beskrivningsdialogrutan Jpf.Controller läggas till. ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test2.jpf> 2009-06-18 13:02:28.447 ! MESSAGE Mer beskrivningsdialogrutan av Jpf.Action läggas till. ! INRESA com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634 ! MESSAGE Ansökande uppgradera rapport för ärende: Test3.jpf ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634 ! MESSAGE Java 5 beskrivningsdialogrutan Jpf.Controller läggas till. ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634 ! MESSAGE Java 5 beskrivningsdialogrutan Jpf.Controller läggas till. ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634 ! MESSAGE lägger import av org.apache.beehive.netui.pageflow.annotations.Jpf för gemensamma ramen beskrivningsdialogrutan stöd. ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634 ! MESSAGE ABC läggas till. ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634 ! MESSAGE ABC läggas till. Utgång för 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 Utgång för 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 (separerade med flik) Java 5 beskrivningsdialogrutan Jpf.Controller måste läggas Mer beskrivningsdialogrutan av Jpf.Action läggas till. / fullpath/Test3.jpf (separerade med flik) Java 5 beskrivningsdialogrutan Jpf.Controller måste läggas, kommer att lägga till import av org.apache.beehive.netui.pageflow.annotations.Jpf för gemensamma ramen beskrivningsdialogrutan stöd, ABC måste läggas . |
![]() |
| Komihåglista |
| Taggar |
| log dellicensen |
| Thread Tools | Sök i denna tråd |
| Visningslägen | Betygsätt denna tråd |
|
|