Como usar o comando “grep” do Linux de modo a excluir resultados que não contenham determinada expressão

image_pdfimage_print

É muito comum utilizarmos o comando grep do Linux com a intenção de filtrar algum resultado de outro comando de forma que ele exiba somente aqueles resultados que contenham uma determinada expressão (ou string) que você deseja. Porém, imaginemos a seguinte situação: eu quero filtrar a saída de um comando de modo que ele exiba somente as saídas que NÃO contenham uma palavra. Ou seja, basicamente você está fazendo o inverso do que o faz o uso convencional do grep. Para isso, basta utilizar a opção -v do comando.

Exemplo:

Suponha que eu deseje listar e ver todos os detalhes de uma pasta. A seguir, o resultado do comando ls -l sem nenhum filtro:

silvio@hostname:~$ ls -l
total 1360
-rw-r--r-- 1 root root 758530 Oct 20 14:31 arquivos_originais.txt
drwxr-xr-x 8 silvio silvio 4096 Nov 6 2014 backup_admin
-rw-r----- 1 silvio silvio 506234 Oct 20 14:14 banco_de_dados.csv
drwxr-xr-x 2 silvio silvio 4096 Nov 15 12:50 cache
drwxr-xr-x 3 silvio www-data 4096 Jul 10 16:20 Desktop
drwxr-xr-x 2 silvio www-data 4096 Oct 29 2014 Documents
drwxr-xr-x 4 silvio www-data 12288 Dec 4 12:23 Downloads

Suponhamos agora que eu deseje filtrar somente as linhas que contenham a string “banco_de_dados”. Dessa forma, o comando seria:

 ls -l |grep "banco_de_dados"

E o resultado seria:

silvio@hostname:~$ ls -l | grep "banco_de_dados"
-rw-r----- 1 silvio silvio 506234 Oct 20 14:14 banco_de_dados.csv

Agora, suponhamos que eu queira o contrário, ou seja, quero que ele exiba todas as linhas, menos as que contenham a string “banco_de_dados”. Dessa forma, o comando deveria ser:

ls -l |grep -v "banco_de_dados"

E o resultado seria:

silvio@hostname:~$ ls -l
total 1360
-rw-r--r-- 1 root root 758530 Oct 20 14:31 arquivos_originais.txt
drwxr-xr-x 8 silvio silvio 4096 Nov 6 2014 backup_admin
drwxr-xr-x 2 silvio silvio 4096 Nov 15 12:50 cache
drwxr-xr-x 3 silvio www-data 4096 Jul 10 16:20 Desktop
drwxr-xr-x 2 silvio www-data 4096 Oct 29 2014 Documents
drwxr-xr-x 4 silvio www-data 12288 Dec 4 12:23 Downloads
Gostou? Tire um minutinho e dê sua contribuição para Drall Dev Community no Patreon!