Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Comando grep no arquivo auth.log

Olá!

Digitei o comando dentro do diretório /var/log: cat auth.log | grep -i ssh

A resposta que obtive foi: "grep: (standard input): binary file matches".

Por que essa resposta ao invés do resultado da pesquisa, conforme visto na aula?

Obrigado!

2 respostas
solução!

Olá, Fábio!

Pelo que você descreveu, parece que o seu arquivo "auth.log" pode estar em um formato binário ou conter caracteres não textuais. O comando "grep" é projetado para lidar com arquivos de texto, e quando encontra um arquivo binário, ele retorna a mensagem "grep: (standard input): binary file matches".

Uma solução possível é tentar converter o arquivo para um formato de texto antes de usar o comando "grep". Você pode fazer isso com o comando "strings", que extrai sequências de caracteres imprimíveis de um arquivo. O comando seria algo assim:

strings auth.log | grep -i ssh

Dessa forma, o comando "strings" irá extrair todas as sequências de texto do arquivo "auth.log" e o resultado será passado para o comando "grep", que irá procurar por "ssh".

Porém, é importante ressaltar que essa solução pode não ser perfeita, pois se o arquivo "auth.log" contiver muitos dados binários, o comando "strings" pode não ser capaz de converter tudo corretamente para o formato de texto.

Bons estudos!

Olá.

Obrigado pelo retorno.

Consegui resolver adicionando o parâmetro -a ao código. Assim, a leitura do arquivo binário ocorreu sem problemas.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software