Como filtrar exatamente uma palavra no terminal

Publicado por Daniel Zaia Manzano em 05/11/2015

[ Hits: 8.074 ]

 


Como filtrar exatamente uma palavra no terminal



Em nosso dia a dia no terminal, acabamos precisando filtrar conteúdos de texto ou até fazer substituições de texto de vez em quando.

Irei demonstrar uma situação corriqueira, em que tenho um arquivo chamado 'veiculos.txt', e pretendo filtrar a string 'car'.

Porém, ao utilizar o comando grep normalmente, ele acaba filtrando também a string 'carro', uma vez que a string 'carro' contém a string 'car'.

Para filtrar exatamente a string 'car', é necessário isolar a string com '<>', porém estes caracteres precisam ser escapados previamente.

Ex.:
Linux: Como filtrar exatamente uma palavra no terminal
Em outra situação, pretendo fazer uma substituição de texto no conteúdo do arquivo 'veiculos.txt', alterando as ocorrências da string 'car' por 'navio'.

Novamente, a substituição acaba afetando também as ocorrências com a string 'carro', uma vez que a string 'carro' contém a string 'car', gerando o resultado 'navioro'.

Para efetuar a substituição exata da string 'car', basta isolar a string com '<>', escapando estes caracteres previamente:
Linux: Como filtrar exatamente uma palavra no terminal
Outras dicas deste autor

Alterar resolução de tela do terminal (modo texto)

Liberando memória RAM ociosa

Transformando arquivo PDF em texto puro

netstat -ltunp: Descobrindo serviços rodando no sistema e respectivos PIDs

Acompanhando progresso na cópia de arquivos

Leitura recomendada

Como descompactar arquivos tar.xz no Ubuntu/Debian e derivados

Montando iPad no Linux

Comando CUT usando delimitador TAB

Impressão com CUPS via console

Listando os últimos comandos executados no bash

  

Comentários
[1] Comentário enviado por tonnytg em 05/11/2015 - 23:05h

Prabéns Daniel,
mas prefiro entrar no Vim e usar o %s/car/navio/g

Att. Antonio Thomacelli Gomes
http://www.tonnytg.com.br

[2] Comentário enviado por hellnux em 09/11/2015 - 10:18h

Dessa eu não sabia. Boa!

Nestes casos costumo utilizar o grep -w

[3] Comentário enviado por dzm_linux em 09/11/2015 - 13:56h


E eu já não sabia do 'grep -w'.
Acho que preciso tomar mais algumas doses de RTFM kkk

Vlw



Contribuir com comentário