Enviado em 28/11/2014 - 05:12h
Bom dia galera,
Gostaria de dicas para usar um comando "for" dentro de outro ou concatenar duas situações. Exemplo: criar um script que use as variáveis d (dia) e m (mês) para pegar um determinado período de logs.
O script que funciona pra mim pra "dia" por exemplo, é o seguinte:
for d in {01..31}; do find /exemplo/data/transport/2014/11/$d -type f | grep smtp-smtpd | while read u; do sudo bzgrep "conta@usuario.com.br" $u; done ;
O que eu quero/preciso fazer, é colocar um "for" a mais pra varrer dia e mês. Tentei usar conforme abaixo, porém não deu certo:
for d in {01..31}; for m in {01..12}; do find /exemplo/data/transport/2014/11/$d -type f | grep smtp-smtpd | while read u; do sudo bzgrep "conta@usuario.com.br" $u; done ;
Já tentei também substituir o segundo for por:
for d in {01..31} and m in {01..12}; do find (...)
for d in {01..31} -a m in {01..12}; do find(...)
for d in {01..31}; m in {01..12}; do find(...)
Em .net, por exemplo, eu faria:
for m=01 to 12
for m=01 to 30
"acao"
done
done
ou algo do tipo.
Alguma ideia de como fazer isso?
Gostaria de dicas para usar um comando "for" dentro de outro ou concatenar duas situações. Exemplo: criar um script que use as variáveis d (dia) e m (mês) para pegar um determinado período de logs.
O script que funciona pra mim pra "dia" por exemplo, é o seguinte:
for d in {01..31}; do find /exemplo/data/transport/2014/11/$d -type f | grep smtp-smtpd | while read u; do sudo bzgrep "conta@usuario.com.br" $u; done ;
O que eu quero/preciso fazer, é colocar um "for" a mais pra varrer dia e mês. Tentei usar conforme abaixo, porém não deu certo:
for d in {01..31}; for m in {01..12}; do find /exemplo/data/transport/2014/11/$d -type f | grep smtp-smtpd | while read u; do sudo bzgrep "conta@usuario.com.br" $u; done ;
Já tentei também substituir o segundo for por:
for d in {01..31} and m in {01..12}; do find (...)
for d in {01..31} -a m in {01..12}; do find(...)
for d in {01..31}; m in {01..12}; do find(...)
Em .net, por exemplo, eu faria:
for m=01 to 12
for m=01 to 30
"acao"
done
done
ou algo do tipo.
Alguma ideia de como fazer isso?