você está aqui: Home  → Arquivo de Mensagens

grep interpretando arquivos de texto como binários

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 17 de janeiro de 2017

Quando realizamos uma busca com o comando grep, se o arquivo for de texto, ele retorna o que encontrou da seguinte forma:

  $ grep regras lerolero.txt
  por modificações independentemente das regras de conduta normativas.

Vamos então modificar o mesmo arquivo, inserindo NUL bytes ao seu final:

  truncate -s +10 lerolero.txt

Isto feito, vamos repetir a busca com o comando grep:

  $ grep regras lerolero.txt 
  Binary file lerolero.txt matches

Desta vez o comando grep assumiu que o arquivo lerolero.txt era binário. Ao invés de retornar as linhas onde a palavra regra se encontra, ele apenas afirmou que o arquivo lerolero.txt contém a palavra regra, o que certamente não nos atende.

Para resolver este problema, basta fornecer a diretiva -a ao comando grep:

  $ grep -a regras lerolero.txt
  por modificações independentemente das regras de conduta normativas.

A diretiva -a instrui o comando grep a processar o arquivo binário como se fosse um arquivo texto.

Eu tive este problema quando o script que envia a dica diária da lista EFR2 passou a registrar nos arquivos gerados a mensagem Binary file XXXX.t2t matches. Felizmente foi muito fácil resolver o problema.



Veja a relação completa dos artigos de Rubens Queiroz de Almeida

 

 

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script