qual é o significado de encontrado no grep encontrado

1

Eu me deparei com esse comando sudo clamscan -v -r /folder/to/scan/ | grep FOUND >> /path/to/save/report/file.txt

enquanto estuda clam (um mecanismo antivírus de código aberto). Eu não consigo entender o significado do argumento que o FOUND passou para o grep. Eu tentei o homem grep, mas ele não dá informações sobre tal argumento.

    
por gnsr 13.06.2016 / 15:12

4 respostas

2

grep é uma ferramenta de correspondência de linha, semelhante a findstr no Windows, exceto mais poderosa. O que você vê no seu exemplo é essa estrutura:

command | grep SOMEWORD >> file.txt

A ideia básica é que corremos command , a saída será dada para grep para pesquisar SOMEWORD e a saída resultante será apenas aquela linha que contém a palavra FOUND . Como temos entrada para grep vindo de outro comando via pipe | , não precisamos de aspas duplas, senão o comando grep típico ficaria assim: grep "USERNAME" /etc/passwd

Quanto a >> , acredito que seja desnecessário se estivermos gerando um novo relatório, porque >> irá anexar texto ao arquivo, mas no caso de > o arquivo será sobrescrito a cada vez. O que eu acho que >> faz é criar um log de todas as varreduras.

    
por Sergiy Kolodyazhnyy 13.06.2016 / 15:51
2

Normalmente, grep é usado para exibir apenas strings contendo uma palavra-chave especificada, em vez de exibir a saída inteira de um arquivo ou comando no terminal.

Pelo que entendi, sudo clamscan -v -r /folder/to/scan/ | grep FOUND >> /path/to/save/report/file.txt lerá o arquivo de verificação do ClamAV (ele precisa ser especificado), encontre qualquer linha nele que contenha a palavra "FOUND" e copie essas linhas em um novo arquivo (que você especificar) .

Não é tanto um argumento como a coisa que você está pedindo para o grep encontrar no arquivo especificado.

    
por TheWanderer 13.06.2016 / 15:15
2

"grep FOUND" filtrará apenas as linhas que contenham a palavra "FOUND" da saída do comando "clamscan".

Não é uma opção para o grep, é o dado que o grep está procurando.

    
por Daniel 13.06.2016 / 15:15
0
sudo clamscan -v -r /folder/to/scan/

retornará resultados e esses resultados serão alimentados ("piped") para "grep".

Se nos resultados a palavra "FOUND" for adicionada ao arquivo de texto "/path/to/save/report/file.txt". O "> >" significa anexar ao arquivo.

    
por Rinzwind 13.06.2016 / 15:15