Estou estudando o Perl e estou com uma situação que eu não estou conseguindo resolver.
Se alguém puder me dar uma luz.
Tenho 4 diretórios onde contem arquivos de logs de vários dias, cada diretório grava logs de um sistema.
Preciso em cada diretório procurar uma palavra dentro de cada arquivo e se encontrar quero trazer o nome do arquivo mas quero limitar aos arquivos criados no maximo a 5 dias.
Um exemplo tosco seria assim:
a = find . -name '*.log' -type f -mtime -5.00 (Procura arquivos criados em até 5 dias)
Resultado de $a = (1.log, 2.log, 3.log, 4.log, 5.log)
(6.log para cima não vão aparecer por ter sido criado a mais de 5 dias)
b = grep $a Erro -uniq -l (faz um grep nos arquivos encontrados na consulta anterior (-uniq = retorna 1 ocorrência), (-l retorna o nome do arquivo)
Resultado de $b = (1.log e 2.log)
(3.log, 4.log e 5.log não vao aparecer porque não possui a palavra Erro)
c = ls -ltrh $b (retorna os dados de tamanho, data e hora de criação, grupo,
Resultado de $c = (-rw-r--r-- 1 gmed_aux spgp_dbm 1.5K Oct 10 19:03 1.log,
-rw-r--r-- 1 verd_pin spgp_dbm 1.7K Oct 10 19:03 2.log)
Pergunta
wiprates
Boa tarde,
Estou estudando o Perl e estou com uma situação que eu não estou conseguindo resolver.
Se alguém puder me dar uma luz.
Tenho 4 diretórios onde contem arquivos de logs de vários dias, cada diretório grava logs de um sistema.
Preciso em cada diretório procurar uma palavra dentro de cada arquivo e se encontrar quero trazer o nome do arquivo mas quero limitar aos arquivos criados no maximo a 5 dias.
Um exemplo tosco seria assim:
a = find . -name '*.log' -type f -mtime -5.00 (Procura arquivos criados em até 5 dias)
Resultado de $a = (1.log, 2.log, 3.log, 4.log, 5.log)
(6.log para cima não vão aparecer por ter sido criado a mais de 5 dias)
b = grep $a Erro -uniq -l (faz um grep nos arquivos encontrados na consulta anterior (-uniq = retorna 1 ocorrência), (-l retorna o nome do arquivo)
Resultado de $b = (1.log e 2.log)
(3.log, 4.log e 5.log não vao aparecer porque não possui a palavra Erro)
c = ls -ltrh $b (retorna os dados de tamanho, data e hora de criação, grupo,
Resultado de $c = (-rw-r--r-- 1 gmed_aux spgp_dbm 1.5K Oct 10 19:03 1.log,
-rw-r--r-- 1 verd_pin spgp_dbm 1.7K Oct 10 19:03 2.log)
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.