![]() |
|
|
google unix.com
|
|||||||
| Fóruns | Registar | Fórum Regimento | Ligações | Álbuns | FAQ | Lista deputados | Calendário | Pesquisa | Today's Posts | Mark Forums Read |
| Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui. |
Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
|
||||
| Fio | Thread Starter | Fórum | Respostas | Última postagem |
| ler o arquivo linha por linha | kittusri9 | Programação Shell Script e | 3 | 04-24-2008 09:26 |
| Como ler máximo de 10 arquivos de uma vez? | cedrichiu | Programação Shell Script e | 10 | 06-23-2007 08:52 |
| shell scripts por isso leva mais tempo para ler um arquivo | brkavi_in | Programação Shell Script e | 1 | 06-23-2006 09:20 |
| Como ler um arquivo linha por linha e fazer coisas | nave espacial | Programação Shell Script e | 4 | 03-17-2005 09:47 |
| Como ler e gravar arquivos uma linha de cada vez. | s_chopra | UNIX para Dummies Perguntas & Respostas | 2 | 04-18-2001 10:39 |
|
|
Linkback | Thread Tools | Pesquisar este Thread | Rate Thread | Display Modes |
|
||||
|
Como ler / um processo. Gz arquivo, uma linha de cada vez?
Olá Estou preso ksh a tentar resolver este problema e estou esperando que alguém lá fora, pode oferecer algumas sugestões. Quero ler muitas das grandes. Gz arquivos uma linha em um tempo, a fim de comparar o seu erro entradas com uma lista de erros conhecidos. Eu não posso simplesmente fazer "foreach ERRO fazer gzcat *. gz | grep $ (error)", porque eu teria que analisar cada um grande arquivo de log para cada um dos erros conhecidos eo tempo para fazer isso seria dias. Então eu quero analisar os arquivos de log uma única vez, ler cada linha, comparar o erro, e incrementar a contagem de erro para cada erro. Eu sei como fazer a maior parte deste excepto a parte sobre uma linha de transformação em uma hora a partir de um. Gz arquivo. Eu vim com algo parecido com isto, mas ele não funciona. É outputing todas as linhas do arquivo, em vez disso: Código:
while read file_line
do
ERROR=`grep ^ERROR ${file_line}`
print ${ERROR}
done < `gzcat 080803.gz`
Esta é a saída que está saindo. Deve saída apenas as linhas começando com o erro, mas é tudo mostrando como o AUDITORIA linhas. Quero apenas o ERRO linhas. E não há retorno transporte. AUDITORIA; WebContainer: 2008-08-04 00:11:51,554; com.at.commons: A_EndRequest - Feito prepara resposta para a transacção de uri '/ docroot / comum "em 337 ms. JAUDIT ^; WebContainer: 2008/08/04 00:11:58,885; com.at.commons: A_BeginRequest - Recebido pedido de transacção para uri '/ docroot / comum ". ^ JAUDIT; WebContainer: 20-08-08-04 00:11:59,136; com.at.commons : A_EndRequest - Feito prepara resposta para a transacção de uri '/ docroot / comum »em 251ms. ^ JAUDIT; WebContainer: 2008-08-04 00:12:08,686; com.at.commons: A_BeginRequest - Recebido pedido de transacção para uri" / docroot / comum ". ^ JAUDIT; WebContainer: 2008-08-04 00:12:09,078; com.at.commons: A_EndRequest - Feito prepara resposta para a transacção de uri '/ docroot / comum" em 392 ms.: não pode abrir Eu queria que a saída para ter este aspecto em vez disso: ERRO; WebContainer: 2008-08-03 04:33:45,787; com.models.userlist.query: E_AggregationError ERRO; WebContainer: 2008-08-03 04:33:59,930; com.models.userlist.query: E_AggregationError ERRO; WebContainer: 2008-08-03 04:34:31,751; com.app.cdmeng.combination: E_marshalException O que estou fazendo errado? Qualquer ajuda seria muito apreciada. Obrigado. |
| Marcadores |
| Thread Tools | Pesquisar este Thread |
| Display Modes | Esta taxa Thread |
|
|