Grep+Pipe, a famosa dupla dinâmica


Para nós administradores de sistemas, com a necessidade de visualizar arquivos e processos de modo eficiente, nada melhor que utilizar a dupla | “pipe” e grep “buscador de conteúdo”. O comando grep serve para procurar strings dentro de pastas ou arquivos, sem ter que visualizar todo o arquivo ou mesmo editá-lo. Veja um exemplo.

Um arquivo com o nome telefone.txt contém os seguintes dados:

Bruno       55123456
Fernando  55237982
Joao         55879087
Paula        45467898
Thalita      23789755

Para saber o telefone do Joao não precisamos editar o arquivos utilizamos o grep da seguinte forma:

$grep Joao telefone.txt

E aparece o resultado:

Joao       55879087

O comando grep tem vários argumentos para facilitar a busca de conteúdo como por exemplo:

grep -<argumento>

-i -> tira o case sensitive, busca por letras maiúsculas e minúsculas.
-v -> não busca a string selecionada, ex: procure tudo menos o Joao.

Agora vamos juntar nosso amigo grep com o pipe, essa dupla é muito utilizada quando precisamos filtrar a saída de um comando, veja o exemplo:

ps -ef | grep -i ftp

Neste comando estamos listando todos os processos do servidor porém o comando grep vai filtrar e mostrar na tela somente o processo com o nome FTP. Podemos visualizar informações de arquivos também utilizando o pipe e o grep como abaixo:

cat /home/usuario/telefone.txt | grep Bruno

ou procurar todos menos o Bruno:

cat /home/usuario/telefone.txt | grep -v Bruno

Bom agora que você ja aprendeu um pouco do comando grep não tenha dó de usar e para mais detalhes digite no shell o comando man grep.

Abraços e até a próxima. 😉

Últimos 5 artigos de Bruno Neves

Sobre Bruno Neves

De Campinas-SP, bacharel em Sistemas de Informação e pós graduando em Redes e Telecomunicações. Trabalha atualmente como Especialista Unix na IBM em Hortolândia-SP. Teve contato com Linux pela primeira vez em Novembro de 2004 através de um curso de Extensão que a Faculdade oferecia. Se tornou membro da comunidade Viva o Linux e desde então foi aprendendo e conhecendo este sistema operacional flexível, robusto e estável. Atualmente tem conhecimento nos Sistemas Operacionais Solaris 9 e 10, AIX 5.3 e 6.1, HP-UX, Red-Hat Enterprise 4 e 5. Utiliza a distribuição Slackware 11, mas sua jornada começou com Red-hat 9, Fedora Core 1, 2, 3, Slackware 10.1, 10.2 e 11.

Deixe uma resposta