![]() |
|
|
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 |
| Como faço para que meu script para monitorar um novo arquivo usando a cauda? | lstorm2003 | Programação Shell Script e | 4 | 06-06-2009 09:58 |
| Aix script para controlar quando um arquivo foi atualizado | elmesy | AIX | 2 | 03-19-2009 04:28 |
| Script para encontrar o nome do ficheiro para a não correspondência padrão | sujoy101 | Programação Shell Script e | 5 | 03-31-2008 10:10 |
| Arquivo pesquise padrão - script | rahulrathod | Programação Shell Script e | 3 | 02-16-2007 04:03 |
| Localizar script com arquivo de entrada padrão | iguanathompson | Programação Shell Script e | 8 | 02-06-2006 06:23 |
![]() |
|
|
Linkback | Thread Tools | Pesquisar este Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Script para monitorar o padrão no arquivo de log
Todas oi,
como encontrar um padrão no arquivo de log e exibir a acima e abaixo da linha por exemplo, o arquivo de log, tenho muitas linhas, sempre que faço uma pesquisa para "Categoria" ela deve mostrar a linha acima apenas com alguns parâmetros, como eu quero apenas o nome e localização departamento nome Qui 02 jul. 11:05:23 2009 <location> norte amer </ local> <site> ohioc </ site> <department> IT vendas </ departamento> <country> UAT </ país> Qui 02 jul. IRD 11:05:39 2009: Info: (embalagem) Temos um Problema Record. pp_HPD: categoria, tipo é inválido Qui 02 jul. 11:05:39 2009 digite os detalhes corrct no código abaixo eu sou capaz de obter apenas a linha acima Logn \u003d "nome do arquivo" para log no Log $ fazer cat $ log |sed -n-e '/ Categoria / (x; 1! p;)'-eh | grep "` date +% a ''% b ''% d `">> $ Logn / System_Log feito mas eu não estou recebendo o costume parmater a partir da linha acima |
|
||||
|
utilização », uma data +% ''% b ''% d` uma vez é suficiente. não colocá-lo em conjunto com o grep. você não quer chamar data everytime sed passar uma linha ao grep.
Código:
datepattern=`date +%a' '%b' '%d` sed .... | grep $datepattern Código:
awk 'BEGIN{
datepattern = "^"strftime("%a %b %d",systime())
}
/category/{
if (x ~ datepattern){
scrape(x)
}
getline l
if (l ~ datepattern){
# do something with below line
}
}
{
x=$0
}
function scrape(s){
o=s
gsub(/.*<location>/,"",o)
gsub(/<\/location>.*/,"",o)
print "location: ",o
gsub(/.*<department>/,"",x)
gsub(/<\/department>.*/,"",x)
print "dept: "x
}' file
|
![]() |
| Marcadores |
| Thread Tools | Pesquisar este Thread |
| Display Modes | Esta taxa Thread |
|
|