ClamAV: suprime toda a saída exceto resumo

1

Ao usar Clam AntiVirus de dentro de GNU Bash , como se deve invocar clamscan de forma que ele suprima de forma confiável toda a saída exceto o resumo final?

Estas tentativas não funcionam:

  • %código%. Suprime o resumo final.
  • %código%. Imprime linhas que não são "OK" (mas que não indicam necessariamente uma infecção: por exemplo, arquivos que são simplesmente arquivos vazios ou links simbólicos) para clamscan --quiet . Essas linhas, portanto, ignoram o redirecionamento e ainda são impressas no terminal, além do resumo final.
por sampablokuper 09.12.2015 / 17:21

1 resposta

0

Não existem opções desse tipo fornecidas pelo próprio clamscan para suprimir a saída, mas você pode canalizar sua saída ou arquivo de log gerado para um script awk para filtrar.

Assumindo que -o esteja definido e -v não esteja definido.

Arquivo: filter.awk : (set chmod +x filter.awk )

#!/bin/awk -f
BEGIN {
        split("Symbolic link,Excluded,Empty file", col2, ",")
        FS=": "
}
{
        skip_line = 0
        for (i in col2) {
                if ($2 == col2[i]) {
                        skip_line++
                        break
                }
        }
        # uncomment next 4 lines below to remove FOUND info
        #if (skip_line == 0) {
        #        if ($2 ~ /FOUND/) {
        #                skip_line++
        #        }
        }

        if (skip_line == 0) {
                print $line
        }
}

uso de exemplo:

clamscan -o -r /home | /path/filter.awk

ou

cat /var/log/clamscan.log | /path/filter.awk
    
por 02.11.2016 / 12:37