![]() |
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Regler | Links | Albums | FAQ | Members List | Kalender | Søgning | Dagens Stillinger | Mark Forums Read |
| Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her. |
Mere UNIX og Linux Forum Emner du måske kan finde Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Last Post |
| læse filen linje for linje | kittusri9 | Shell Programmering og Scripting | 3 | 04-24-2008 09:26 AM |
| Hvordan læser man max 10 fil på et tidspunkt? | cedrichiu | Shell Programmering og Scripting | 10 | 06-23-2007 08:52 AM |
| hvorfor shell scripting tager længere tid at læse en fil | brkavi_in | Shell Programmering og Scripting | 1 | 06-23-2006 09:20 AM |
| Hvordan læser fra en fil linje for linje og do stuff | rumskib | Shell Programmering og Scripting | 4 | 03-17-2005 09:47 PM |
| Hvordan at læse og skrive filer én linje ad gangen. | s_chopra | UNIX for dummyer Spørgsmål & svar | 2 | 04-18-2001 10:39 AM |
![]() |
|
|
LinkBack | Thread Tools | Søg denne tråd | Rate Thread | Display Modes |
|
|
|
||||
|
Hvordan læser / behandle en. Gz-fil, en linje på et tidspunkt?
Hej Jeg sidder og forsøger at løse dette ksh spørgsmål, og jeg håber nogen derude kan tilbyde nogle forslag. Jeg ønsker at læse en masse store. Gz filer én linje i en tid med henblik på at sammenligne sin Fejl poster med en liste over kendte fejl. Jeg kan ikke bare gøre "foretrukne VILDFARELSE gøre gzcat *. gz | grep $ (FEJL)", fordi jeg ville være nødt til at analysere hver enkelt stor logfil for hver af de kendte fejl og tid til at gøre dette ville være dage. Så jeg ønsker at parse logfiler kun én gang, kan du læse hver linje, sammenlign fejlen, og tilvækstmålinger fejlen tæller for hver fejl. Jeg ved hvordan du gør det meste af denne undtagen den del, om behandlingen én linje ad gangen fra en. Gz-fil. Jeg kom op med noget som dette, men det virker ikke. Det er outputing alle de linjer i filen, i stedet: Code:
while read file_line
do
ERROR=`grep ^ERROR ${file_line}`
print ${ERROR}
done < `gzcat 080803.gz`
Dette er den produktion, der er på vej ud. Det bør output kun linjerne begynder med fejl, men det viser, hvad såsom REVISION linjer. Jeg ønsker bare fejlen linjer. Og der er ingen returtegn. REVISION; WebContainer: 2008-08-04 00:11:51,554; com.at.commons: A_EndRequest - Udfærdiget forberede svar for transaktionen for uri '/ docroot / fælles' i 337 ms. ^ JAUDIT; WebContainer: 2008-08-04 00:11:58,885; com.at.commons: A_BeginRequest - Modtaget anmodning om transaktionen for uri '/ docroot / fælles ". ^ JAUDIT; WebContainer: 20-08-08-04 00:11:59,136; com.at.commons : A_EndRequest - Udfærdiget forberede svar for transaktionen for uri '/ docroot / fælles' i 251ms. ^ JAUDIT; WebContainer: 2008-08-04 00:12:08,686; com.at.commons: A_BeginRequest - Modtaget anmodning om transaktionen for uri' / docroot / fælles ". ^ JAUDIT; WebContainer: 2008-08-04 00:12:09,078; com.at.commons: A_EndRequest - Udfærdiget forberede svar for transaktionen for uri '/ docroot / fælles' i 392 ms.: kan ikke åbne Jeg ønskede output til at se sådan her i stedet: FEJL; WebContainer: 2008-08-03 04:33:45,787; com.models.userlist.query: E_AggregationError FEJL; WebContainer: 2008-08-03 04:33:59,930; com.models.userlist.query: E_AggregationError FEJL; WebContainer: 2008-08-03 04:34:31,751; com.app.cdmeng.combination: E_marshalException Hvad skal jeg gør forkert? Enhver hjælp vil være meget værdsat. Tak. |
![]() |
| Bogmærker |
| Thread Tools | Søg denne tråd |
| Display Modes | Bedøm denne tråd |
|
|