The UNIX and Linux Forums  

Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



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

Closed Thread
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ök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 11-17-2008
thepurple thepurple is offline
Registered User
  
 

Join Date: oktober 2007
Inlägg: 134
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> GETSUB: 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, 0EST, 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, 0EST, 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> SETSUB: MDN, 989352375449, </ fullOperation>
<starttime> 20081110080257,888204 </ StartTime>
<stoptime> 20081110080257,999121 </ stoptime>
<fullResult> RESP: 911265678; </ fullResult>
<status> misslyckades </ status>
</ log>
</ LogItems>
  #2 (permalänk)  
Old 11-17-2008
thepurple thepurple is offline
Registered User
  
 

Join Date: oktober 2007
Inlägg: 134
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
  #3 (permalänk)  
Old 11-17-2008
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
missbrukare
  
 

Join Date: Jan 2007
Ort: Варна, България / Milano, Italia
Inlägg: 2.928
Ja,
urvalet av uppgifter i tidigare hot var en annan (jag antar taggar separerade med blank (tom) rader).
Prova detta:


Kod:
perl -nle'BEGIN {$/="</log>";$,="\n";$\="\n\n"}
  print /<fullOperation>(.*?):.*<fullResult>(.*?:.*?)[:;]/s
  ' infile

  #4 (permalänk)  
Old 11-17-2008
thepurple thepurple is offline
Registered User
  
 

Join Date: oktober 2007
Inlägg: 134
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
  #5 (permalänk)  
Old 11-17-2008
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
missbrukare
  
 

Join Date: Jan 2007
Ort: Варна, България / Milano, Italia
Inlägg: 2.928
Detta är märkligt, kan du skicka ett exempel på dessa strängar?
  #6 (permalänk)  
Old 11-17-2008
thepurple thepurple is offline
Registered User
  
 

Join Date: oktober 2007
Inlägg: 134
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
  #7 (permalänk)  
Old 11-17-2008
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
missbrukare
  
 

Join Date: Jan 2007
Ort: Варна, България / Milano, Italia
Inlägg: 2.928
Du kan.
Closed Thread

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 09:47.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0