Procurando por uma palavra em vários arquivos

0

Meu código procura uma palavra em dois arquivos de log, mas a maneira como eu não pareço eficiente. Alguém conhece uma maneira melhor?

     for IP in 'grep "$TERM" ${IPECONFIG[APACHELOGFILE]} | grep "$TERM" ${IPECONFIG[APACHESSLLOGFILE]} | awk "{print \$1}" | sort | uniq -c | sort -rn | head -40 | awk "{if (\$1 > ${IPECONFIG[THRESHOLD]}) print \$2}"'
     do

     # do something

done
    
por Rui Branco 04.08.2014 / 11:58

1 resposta

1

O grep aceita vários nomes de arquivos na linha de comando. Sua expansão de parâmetros do shell estaria realmente fazendo isso. Se você executar ls -l ${IPECONFIG[APACHELOGFILE]} , verá quantos arquivos aparecerão com essa pesquisa.

Você pode combinar suas operações com o grep da seguinte forma:

grep "$TERM" ${IPECONFIG[APACHELOGFILE]} ${IPECONFIG[APACHESSLLOGFILE]}"
    
por 04.08.2014 / 14:39

Tags