![]() |
|
|
google unix.com
|
|||||||
| Forums | Registreer | Forum Regels | Links | Albums | Veelgestelde vragen | Ledenlijst | Kalender | Zoeken | Today's Posts | Markeer forums als gelezen |
| UNIX for Advanced & Expert Gebruikers Expert-to-Expert. Hier geavanceerde UNIX-, UNIX-commando's, Linux, Operating Systems, System Administration, programmering, Shell, Shell scripts, Solaris, Linux, HP-UX, AIX, OS X, BSD. |
Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
|
||||
| Draad | Thread Starter | Forum | Antwoorden | Last Post |
| Extracting Tekst | krabu | Programmeren en Shell Scripting | 3 | 04-07-2009 04:16 |
| het extraheren van tekst en het hergebruik van de tekst te hernoemen bestand | JohnDS | UNIX voor Dummies Questions & Answers | 7 | 02-05-2009 03:55 |
| De extractie van gegevens uit Configuratiebestanden / tekst verwerken | oconmx | Programmeren en Shell Scripting | 3 | 01-21-2009 07:09 PM |
| hulp nodig voor het vervangen van tekst in vi | Chandu2u | Programmeren en Shell Scripting | 6 | 01-26-2008 11:12 |
| Hulp nodig met betrekking tot Extracting regels uit een bestand | google_ever | Programmeren en Shell Scripting | 1 | 10-12-2005 08:02 |
![]() |
|
|
LinkBack | Thread Tools | Zoeken in deze Thread |
Waardering:
|
Display Modes |
|
|
|
||||
|
Winning van de benodigde tekst van logbestanden
Het zou zeer merkbaar als iemand me helpt in deze. I am trying to get it geschieden door middel van Java, maar ik hou van Unix en geloof dat het gedaan kan worden binnen enkele minuten met een paar lijnen.
De input log-bestand is een tekstbestand bevat meerdere items worden gescheiden door een lege regel. Elke gescheiden binnenkomst komt overeen met upgradeprocedure informatie van een bestand. ! INTREDE tekst .....< INFO> of <OKAY> <RESOURCE: /test/src/com/test1/*/test.java> 2009-06-18 13:01:01.181 ! MESSAGE Verzoekend upgraderapport voor bestand: test.java ! INTREDE tekst .....< INFO> of <OKAY> <RESOURCE: /test/src/com/test1/*/test1.java> 2009-06-18 13:01:01.181 ! MESSAGE informatie in test1.java zullen worden opgewaardeerd. ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: volledige pad /file naam> 2009-06-18 13:02:25.681 ! Bericht toevoegen invoer van org.apache.beehive.netui.pageflow.annotations.Jpf voor gezamenlijk meerjarig programmeringsproces respectievelijk annotatie ondersteuning. Elk item begint met "! ENTRY", zoals hierboven weergegeven en worden gevolgd door de tekst "com.bea.workshop.upgrade81" en vervolgens zal worden gevolgd door twee types van tags: <OKAY> en <INFO> En dan zal worden gevolgd door de tag <RESOURCE: bevat het volledige pad van het bestand en daarna gevolgd door de tijd stempel, zoals hierboven weergegeven. Als het <OKAY>, dan de tweede regel wordt als volgt ! MESSAGE Verzoekend upgraderapport voor bestand: bestandsnaam (wat niet van veel belang voor mijn output) Ex: ! INTREDE tekst .....< INFO> of <OKAY> <RESOURCE: /test/src/com/test1/*/test.java> 2009-06-18 13:01:01.181 ! MESSAGE Verzoekend upgraderapport voor bestand: bestandsnaam Als het dan ook <INFO> tweede lijn zal worden als ! MESSAGE Verzoekend upgraderapport voor bestand: bestandsnaam Maar het zal zeker worden gevolgd door een reeks van meerdere lijn paren beginnen met tags! SUBENTRY,! MESSAGE zoals hieronder ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: path/filename> 2009-06-18 13:02:25.681 ! Bericht toevoegen invoer van org.apache.beehive.netui.pageflow.annotations.Jpf voor gezamenlijk meerjarig programmeringsproces respectievelijk annotatie ondersteuning. Mijn eis is als volgt: Eis 1 1) Voor alle items die <OKAY> tag, ik nodig om het bestand namen die zullen worden na <RESOURCE :..... en vóór time stamp Let op de items worden gescheiden door een lege regel Eis 2 2) Voor alle lijnen met <INFO> tag, ik wil een tekst bestand met de tekst zoals deze Volledige pad en de naam van het bestand en vervolgens in de volgende regel Alle tekst na! MESAAGE recht onder de lijn containg de tag van de overeenkomstige "! SUBENTRY 1" tags Voorbeeld 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 ! INTREDE com.bea.workshop.upgrade81 <OKAY> <RESOURCE: /fullpathr/Test.java> 2009-06-18 13:02:28.368 ! MESSAGE Verzoekend upgraderapport voor bestand: Test.java ! INTREDE com.bea.workshop.upgrade81 <OKAY> <RESOURCE: /fullpath/Test1.jpf> 2009-06-18 13:02:28.384 ! MESSAGE Verzoekend upgraderapport voor bestand: Test1.jpf ! INTREDE com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test2.jpf> 2009-06-18 13:02:28.447 ! MESSAGE Verzoekend upgraderapport voor bestand: Test2.jpf ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test2.jpf> 2009-06-18 13:02:28.447 ! MESSAGE De Java 5 annotatie Jpf.Controller moet worden toegevoegd. ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test2.jpf> 2009-06-18 13:02:28.447 ! MESSAGE Meer annotatie van Jpf.Action moet worden toegevoegd. ! INTREDE com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634 ! MESSAGE Verzoekend upgraderapport voor bestand: Test3.jpf ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634 ! MESSAGE De Java 5 annotatie Jpf.Controller moet worden toegevoegd. ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634 ! Bericht toevoegen invoer van org.apache.beehive.netui.pageflow.annotations.Jpf voor gezamenlijk meerjarig programmeringsproces respectievelijk annotatie ondersteuning. ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634 ! MESSAGE ABC moet worden toegevoegd. Output voor 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 Output voor 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 annotatie Jpf.Controller moet worden toegevoegd. Meer annotatie van Jpf.Action moet worden toegevoegd. / fullpath/Test3.jpf Java 5 annotatie Jpf.Controller moet worden toegevoegd. Zal de invoer van org.apache.beehive.netui.pageflow.annotations.Jpf voor het gezamenlijk meerjarig programmeringsproces respectievelijk annotatie ondersteuning. ABC moet worden toegevoegd. Laatst gewijzigd door hareeshram; op 06.20.2009 10:09.. |
|
||||
|
Dit werkt, maar waarschijnlijk alleen als uw input is precies zoals je beschreven! 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.
Laatst gewijzigd door scottn; op 06.20.2009 11:44.. |
| Bits Awarded / Geladen om radoulov voor dit bericht | |||
| Datum | Gebruiker | Commentaar | Hoeveelheid |
| 06-22-2009 | hareeshram | Bedankt voor de slimme oplossing! | 200 |
|
||||
|
Dat was zo snel en nauwkeurig!
Dankzij scottn en radoulov.
Het werkte prima voor mij Ik heb een kleine verandering in de indeling die ik zou verwachten voor zowel eisen. Hoop dat je zou me. Eis 1: De bestandsnamen moeten komen met volledige paden Eis 2: Na de naam van het bestand (met volledige pad), ongeacht de berichten die worden weergegeven (een boodschap voor een lijn), ze worden weergegeven zonder enige overlapping (hetzelfde bericht in opeenvolgende regels dienen te worden verwijderd) per item en alle niet gedupliceerd vermeldingen moeten worden separted door een komma (in plaats van nieuwe regel "). Anders dan in het bovenstaande geval zowel bestand en kommagescheiden berichten moet komen in de interne lijn. Nogmaals heel veel dank voor het bijhouden van mijn geest in Unix. Voorbeeld input \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d Voorbeeld 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 ! INTREDE com.bea.workshop.upgrade81 <OKAY> <RESOURCE: /fullpath/Test.java> 2009-06-18 13:02:28.368 ! MESSAGE Verzoekend upgraderapport voor bestand: Test.java ! INTREDE com.bea.workshop.upgrade81 <OKAY> <RESOURCE: /fullpath/Test1.jpf> 2009-06-18 13:02:28.384 ! MESSAGE Verzoekend upgraderapport voor bestand: Test1.jpf ! INTREDE com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test2.jpf> 2009-06-18 13:02:28.447 ! MESSAGE Verzoekend upgraderapport voor bestand: Test2.jpf ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test2.jpf> 2009-06-18 13:02:28.447 ! MESSAGE De Java 5 annotatie Jpf.Controller moet worden toegevoegd. ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test2.jpf> 2009-06-18 13:02:28.447 ! MESSAGE Meer annotatie van Jpf.Action moet worden toegevoegd. ! INTREDE com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634 ! MESSAGE Verzoekend upgraderapport voor bestand: Test3.jpf ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634 ! MESSAGE De Java 5 annotatie Jpf.Controller moet worden toegevoegd. ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634 ! MESSAGE De Java 5 annotatie Jpf.Controller moet worden toegevoegd. ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634 ! Bericht toevoegen invoer van org.apache.beehive.netui.pageflow.annotations.Jpf voor gezamenlijk meerjarig programmeringsproces respectievelijk annotatie ondersteuning. ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634 ! MESSAGE ABC moet worden toegevoegd. ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009-06-18 13:02:28.634 ! MESSAGE ABC moet worden toegevoegd. Output voor 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 Output voor 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 (gescheiden door een tab) De Java 5 annotatie Jpf.Controller moet worden toegevoegd, Meer annotatie van Jpf.Action moet worden toegevoegd. / fullpath/Test3.jpf (gescheiden door een tab) De Java 5 annotatie Jpf.Controller moet worden toegevoegd, zal de invoer van org.apache.beehive.netui.pageflow.annotations.Jpf voor het gezamenlijk meerjarig programmeringsproces respectievelijk annotatie ondersteuning, ABC moet worden toegevoegd . |
![]() |
| Bladwijzers |
| Labels |
| log uittreksel |
| Thread Tools | Zoeken in deze Thread |
| Display Modes | Beoordeel deze draad |
|
|