|
From: | Rodrigo Cunha |
Subject: | Re: [shell-script] Duvida Inserir variável condicional no grep |
Date: | Sun, 29 Jun 2014 14:08:39 -0300 |
Uma forma para não complicar a RegExp:DiasComZero={01..31}DiasSemZero={1..31}grep -iE "\bJun ( $DiasSemZeros|$DiasComZeros)\b" arq.log | gzip --stdout > novo.arq.log.$j.06.2014.gzUma forma complicando a RegExp:grep -iE "\bJun ? (0?[1-9]|[12][0-9]|3[01])\b" arq.log | gzip --stdout > novo.arq.log.$j.06.2014.gzEm 29 de junho de 2014 02:39, Rodrigo Cunha address@hidden [shell-script] <address@hidden> escreveu:
Ola amigos, preciso de uma ajuda.Estou montando um script para solucionar um problema que tenho com servidores compartilhados antigos.Bom, a situação é a seguinte, tenho varios servers compartilhados, que não sou o admin, sou incumbido de "apagar incêndios" e um destes incêndios é que o conjunto de servidores nesta situação, muitas das vezes não possui o logrotate configurado e acaba gerando arquivos de log monstruosos com entradas de varias datas diferentes.Para sanar o meu problema estou bolando um script que faça o seguinte.
Leia o arquivo de log arq.log e a partir da leitura faça pequenos arquivos pertinentes as datas do incremento com a string novo.arq.log.stringdedata.gz ja compactando estes apagando , no termino da execução as linhas inseridas nestes novos arquivos deveriam ser apagadas do arquivo principal.
Notei que quando o script tenta executar a função em strings menores que 10 ele não funciona e gera arquivos vazios, frente a isso recriei o script abaixo com o novo grep para sanar, mas agora os arquivos até são gerados mas não apresentam as entradas que desejo nem mesmo o processo secundario de remover as entradas do arquivo principal.
acredito que meu erro está basicamente aqui : grep -i '"Jun $j "\|"Jun $j "'As entradas padrão do meu arquivo de log são do padrão :
Jun 16 09:21:46 ...
Jun 9 16:21:18
assim inseri um espaço em branco na condicional or do grepSegue abaixo o script :
#!/bin/bash
for i in {1..31}
do j=$i && cat arq.log |grep -i '"Jun $j "\|"Jun $j "' |gzip --stdout > novo.arq.log.$j.06.2014.gz && sed -i '/^Jun '"$j"' /d' arq.log
donetambem tentei este :
do j=$i && cat arq.log |grep -i 'Jun {$j} \|Jun {$j} ' |gzip --stdout > novo.arq.log.$j.06.2014.gz && sed -i '/^Jun '"$j"' /d' arq.log
doneAlguém sabe como eu poderia proceder?
--
Atenciosamente,
Rodrigo Silva Cunha - RJ - São Gonçalo
Cel: +55 (0xx21) 7519-7375
e-mail : address@hidden
"Servo do Reino de Deus.
Servo, do Rei e Líder Jesus Cristo de Nazaré."
--Atenciosamente,
Rodrigo Silva
"Servo do Reino de Deus.
Servo, do Rei e Líder Jesus Cristo de Nazaré."
[Prev in Thread] Current Thread [Next in Thread]
- Duvida Inserir variável condicional no grep, Rodrigo Cunha, 2014/06/29
- Re: [shell-script] Duvida Inserir variável condicional no grep, Julio C. Neves, 2014/06/29
- Re: [shell-script] Duvida Inserir variável condicional no grep, Sidney Souza, 2014/06/29
- Re: [shell-script] Duvida Inserir variável condicional no grep, Rodrigo Cunha <=
- Prev by Date: Re: [shell-script] Duvida Inserir variável condicional no grep
- Next by Date: Re: RES: [shell-script] Localizar, procurar e editar com shell-script
- Previous by thread: Re: [shell-script] Duvida Inserir variável condicional no grep
- Index(es):