![]() |
|
|
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 |
| läsa filen rad för rad | kittusri9 | Shell-programmering och Skript | 3 | 04-24-2008 09:26 |
| Hur du läser max 10 fil i taget? | cedrichiu | Shell-programmering och Skript | 10 | 06-23-2007 08:52 |
| varför shell scripting tar längre tid att läsa en fil | brkavi_in | Shell-programmering och Skript | 1 | 06-23-2006 09:20 |
| Hur man läser från en fil linje för linje och göra saker | rymdskepp | Shell-programmering och Skript | 4 | 03-17-2005 09:47 |
| Hur kan man läsa och skriva filer en rad i taget. | s_chopra | UNIX for Dummies Frågor & Svar | 2 | 04-18-2001 10:39 |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
||||
|
Hur förstår / processen en. Gz-fil, en linje på en gång?
Hej Jag fastnar försöker lösa detta ksh frågan och jag hoppas nån där ute kan ge några förslag. Jag vill läsa massor av stora. Gz filer en linje i taget för att jämföra sina Fel poster med en lista över kända fel. Jag kan inte bara göra "foreach FEL göra gzcat *. gz | grep $ (FEL)" eftersom jag skulle behöva analysera varje enskild stor loggfilen för vart och ett av de kända fel och tiden att göra detta skulle vara dagar. Så jag vill analysera loggfilerna endast en gång, läs varje rad, jämför felet och increment felet räknas för varje misstag. Jag vet hur man gör det mesta av detta undantag för den del om behandling en rad i taget från en. Gz fil. Jag kom upp med något sådant, men det fungerar inte. Det är outputing alla rader i filen i stället: Kod:
while read file_line
do
ERROR=`grep ^ERROR ${file_line}`
print ${ERROR}
done < `gzcat 080803.gz`
Detta är den produktion som kommer ut. Det bör produktionen bara rader som börjar med fel men den visar allt såsom AUDIT linjer. Jag vill bara FEL linjer. Och det finns ingen vagnretur. Revision; WebContainer: 2008-08-04 00:11:51,554; com.at.commons: A_EndRequest - Utfärdad förbereda svar för transaktion uri '/ docroot / gemensamma "i 337 ms. ^ JAUDIT; WebContainer: 2008-08-04 00:11:58,885; com.at.commons: A_BeginRequest - Mottagna begäran om transaktion uri '/ docroot / gemensamma ". ^ JAUDIT, WebContainer: 20-08-08-04 00:11:59,136; com.at.commons : A_EndRequest - Utfärdad förbereda svar för transaktion uri '/ docroot / gemensamma "i 251ms. ^ JAUDIT; WebContainer: 2008-08-04 00:12:08,686; com.at.commons: A_BeginRequest - Mottagna begäran om transaktion uri" / docroot / gemensamma ". ^ JAUDIT; WebContainer: 2008-08-04 00:12:09,078; com.at.commons: A_EndRequest - Utfärdad förbereda svar för transaktion uri '/ docroot / gemensamma" i 392 ms.: kan inte öppna Jag ville utdatat att se ut så här istället: FEL; WebContainer: 2008-08-03 04:33:45,787; com.models.userlist.query: E_AggregationError FEL; WebContainer: 2008-08-03 04:33:59,930; com.models.userlist.query: E_AggregationError FEL; WebContainer: 2008-08-03 04:34:31,751; com.app.cdmeng.combination: E_marshalException Vad gör jag för fel? All hjälp skulle vara mycket uppskattat. Tack. |