![]() |
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här. |
Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Senaste Inlägg |
| search ") med egrep - egrep: syntaxfel | sagarjani | UNIX for Dummies Frågor & Svar | 7 | 10-14-2008 08:30 |
| egrep / grep följd av fler filer | tvrman | Shell-programmering och Skript | 3 | 08-07-2008 09:29 |
| Egrep lathund någonstans? Letar du efter innebörden av egrep-c | leelm | UNIX for Dummies Frågor & Svar | 2 | 01-11-2008 03:37 |
| perl - kopiera filer | BG_JrAdmin | Shell-programmering och Skript | 1 | 12-13-2007 09:50 |
| Perl Överföra filer | sstevens | UNIX för avancerade & Expertanvändare | 16 | 02-24-2004 03:03 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
Perl eller awk / egrep från stora filer?
Hej experter.
I en konversation jag har frågat dig hur du grep strängen från under provet fil - Tyvärr skriptet inte gav ordentlig produktion (det missade många strängar). Det som hände kan jag gjorde gav dig väl innehållet i filen Det var skript "$ perl -00nle "print gå" \ n ", / <fullOperation> (.*?):.*< fullResult >(.*?);/ s' filename.txt" Nu för dig bekvämligheter i pastaform innehållet här från början av fil - Produktionen av nedanstående fil vore - SKAPA RESP: -3010 DELETE RESP: 0 SKAPA RESP: 911364896 GET RESP: 0 SET RESP: 911265678 <? xml version \u003d'1 .0 'encoding \u003d' ISO-8859-1 "fristående \u003d" nej "?> <LogItems> <log logid\u003d"83efeae5190811100759420954"> <category> Upstream.CAI </ kategori> <operation> Logga in </ operation> <target> CAI </ target> <instance> </ exempel> <användare> </ user> <Context> </ Context> <fullOperation> LOGIN: SERVER1: eri4ema </ fullOperation> <starttime> 20081110075942,366900 </ StartTime> <stoptime> 20081110075942,424451 </ stoptime> <fullResult> RESP: 3001; </ fullResult> <status> misslyckades </ status> </ log> <log logid\u003d"83efeae5190811100759480955"> <category> Upstream.CAI </ kategori> <operation> Logga in </ operation> <target> CAI </ target> <instance> </ exempel> <användare> </ user> <Context> </ Context> <fullOperation> LOGIN: SERVER1: eri4ema; </ fullOperation> <starttime> 20081110075948,375669 </ StartTime> <stoptime> 20081110075948,375923 </ stoptime> <fullResult> RESP: 3007; </ fullResult> <status> misslyckades </ status> </ log> <log logid\u003d"83efeae5190811100759580956"> <category> Upstream.CAI </ kategori> <operation> Logga in </ operation> <target> CAI </ target> <instance> </ exempel> <användare> SERVER1 </ user> <Context> SOG </ Context> <fullOperation> LOGIN: SERVER1 :*******;</ fullOperation> <starttime> 20081110075958,354986 </ StartTime> <stoptime> 20081110075958,355238 </ stoptime> <fullResult> RESP: 0; </ fullResult> <status> FRAMGÅNGSRIK </ status> </ log> </ LogItems> <? xml version \u003d'1 .0 'encoding \u003d' ISO-8859-1 "fristående \u003d" nej "?> <LogItems> <log logid\u003d"83efeae5190811100802020957"> <category> Upstream.CAI </ kategori> <operation> Få </ operation> <target> ESUB </ target> <instance> CODE \u003d 432350114484630 </ exempel> <användare> SERVER1 </ user> <Context> SOG </ Context> <fullOperation> GET: ESUB: CODE, 432350114484630, </ fullOperation> <starttime> 20081110080202,185236 </ StartTime> <stoptime> 20081110080202,834500 </ stoptime> <fullResult> RESP: 11000003; OKÄND PRENUMERANT; </ fullResult> <status> misslyckades </ status> </ log> </ LogItems> <? xml version \u003d'1 .0 'encoding \u003d' ISO-8859-1 "fristående \u003d" nej "?> <LogItems> <log logid\u003d"83efeae5190811100802120958"> <category> Upstream.CAI </ kategori> <operation> Få </ operation> <target> DSUB </ target> <instance> </ exempel> <användare> SERVER1 </ user> <Context> SOG </ Context> <fullOperation> GET SUB: MDN, 989352375449, </ fullOperation><starttime> 20081110080212,352053 </ StartTime> <stoptime> 20081110080213,376720 </ stoptime> <fullResult> RESP: 0: MDN, 989352375449: CODE, 432350114484630: Land, FI: LANG, fi: PRE, 0: SUBNAME, Eserve: MMS, 1; </ fullResult> <status> FRAMGÅNGSRIK </ status> </ log> </ LogItems> <? xml version \u003d'1 .0 'encoding \u003d' ISO-8859-1 "fristående \u003d" nej "?> <LogItems> <log logid\u003d"83efeae5190811100802350959"> <category> Upstream.CAI </ kategori> <operation> Få </ operation> <target> ACCOUNTINFORMATION </ target> <instance> </ exempel> <användare> SERVER1 </ user> <Context> SOG </ Context> <fullOperation> GET: ACCOUNTINFORMATION: SubscriberNumber, 989352375449, </ fullOperation> <starttime> 20081110080235,264165 </ StartTime> <stoptime> 20081110080235,555880 </ stoptime> <fullResult> RESP: -3010; </ fullResult> <status> misslyckades </ status> </ log> <log logid\u003d"83efeae5190811100802450960"> <category> Upstream.CAI </ kategori> <operation> Radera </ operation> <target> EDSUB </ target> <instance> </ exempel> <användare> SERVER1 </ user> <Context> SOG </ Context> <fullOperation> DELETE: EDSUB: CODE, 432350114484630: MDN, 989352375449: PRE, 0 EST, ALL; </ fullOperation><starttime> 20081110080245,012208 </ StartTime> <stoptime> 20081110080245,857994 </ stoptime> <fullResult> RESP: 0; </ fullResult> <status> FRAMGÅNGSRIK </ status> </ log> <log logid\u003d"83efeae5190811100802510961"> <category> Upstream.CAI </ kategori> <operation> Skapa </ operation> <target> EDSUB </ target> <instance> </ exempel> <användare> SERVER1 </ user> <Context> SOG </ Context> <fullOperation> SKAPA: EDSUB: CODE, 432350114484630: KI, 1C9B39AAF3931D60C064F6E8FBB5B1E6: MDN, 98935237544 9: PRE, 0 EST, ALL; </ fullOperation><starttime> 20081110080251,089898 </ StartTime> <stoptime> 20081110080251,489396 </ stoptime> <fullResult> RESP: 911364896; </ fullResult> <status> misslyckades </ status> </ log> <log logid\u003d"83efeae5190811100802540962"> <category> Upstream.CAI </ kategori> <operation> Få </ operation> <target> ESUB </ target> <instance> CODE \u003d 432350114484630 </ exempel> <användare> SERVER1 </ user> <Context> SOG </ Context> <fullOperation> GET: ESUB: CODE, 432350114484630, </ fullOperation> <starttime> 20081110080254,000313 </ StartTime> <stoptime> 20081110080254,697545 </ stoptime> <fullResult> RESP: 0: MDN, 989352375449: CODE, 432350114484630: T11, 1: T21, 1: T22, 1: B16, 1: T62, 1: BAIC, 0: BAOC, 0: BOIC, 0: Biro, 0 : Børø, 0: BOIH, 0: BOS4, 0: CLIP, 1: CLIR, 0: CFB, 1: CFNR, 1: CFNA, 1: CFU, 1: Håll, 1: CW, 1: MPTY, 1: BAICS , 0,0: BAOCS, 0,0: BOICS, 0,0: PRE, 0; </ fullResult> <status> FRAMGÅNGSRIK </ status> </ log> <log logid\u003d"83efeae5190811100802570963"> <category> Upstream.CAI </ kategori> <operation> Ställ </ operation> <target> DSUB </ target> <instance> </ exempel> <användare> SERVER1 </ user> <Context> SOG </ Context> <fullOperation> SET SUB: MDN, 989352375449, </ fullOperation><starttime> 20081110080257,888204 </ StartTime> <stoptime> 20081110080257,999121 </ stoptime> <fullResult> RESP: 911265678; </ fullResult> <status> misslyckades </ status> </ log> </ LogItems> |
|
||||
|
Nedanstående kommandon jag köra. Men att inte få ett korrekt resultat. Men det tar 3 minuter för 35MB fil. Men jag har 900 MB fil
![]() egrep "<fullOperation> RADERA | <fullOperation> SET | <fullOperation> SKAPA | <fullOperation> GET | <fullResult> RESP" Ouput var - <fullOperation> GET: ESUB: MDN, 989371072136, </ fullOperation> <fullResult> RESP: 0: MDN, 989371072136: CODE, 432350022011344: Lastname, 989371072136: Förnamn ,2008-11-08_16_10: Land, IR: LANG, fa: PRE, 1: SUBNAME, Eserve: MMS, 0; </ fullResult > <fullResult> RESP: 0; </ fullResult> <fullResult> RESP: 0; </ fullResult> -> Resp: kommer två gånger Produktionen bör - GET Resp: 0 |
|
||||
|
Oaoo Greate dess arbetsmetoder. Jag vill sätta Produktionen inom filer.
Jag körde det som nedan. Men output.txt innehåller några strängen som inte matchas med ursprungliga produktionsvolymen i min skärm perl -nle "BEGIN {$/\u003d"</ log >";$,\u003d" \ n", $ \ \u003d "\ n \ n") print / <fullOperation> (.*?):.*< fullResult> ( .*?:.*?)[:;]/ s "2008-11-11.0.log > Output.txt |
|
||||
|
Opss jag verkligen ledsen kompis .. Det fungerade. Faktum är att jag lagt fel filnamn.
Hursomhelst, jag hoppas att jag kan sätta in "N" antal filnamn med perl skript. perl -nle "BEGIN {$/\u003d"</ log >";$,\u003d" \ n", $ \ \u003d "\ n \ n") print / <fullOperation> (.*?):.*< fullResult> ( .*?:.*?)[:;]/ s' logfile1 logflie2 ... logfileN |