PROCURAR:     
  Terça, 30/09/2008
» Introdução
» Programação
» Administração
» Hardware
» Aplicativos
» Jogos
» Segurança
» Editorial
» Entrevistas
» Fórum
» Links
» Notícias
» Pegue o Linux
» Documentação
» Programas
» Dúvidas
» Oportunidades
» Sobre
» Contato
» Publicidade
 
Powered By:
DEBIAN
GNU/LINUX
 
English Version
 
 
Shopping OLinux
Curso de Shell - Aula V
Por: Alex Borro

Nesta aula teremos um breve tutorial sobre o Grep. Ele não é somente um dos comandos mais úteis, mas o seu domínio abre portas para dominar outros poderosos comandos, como o sed (que trataremos na próxima aula) , awk, perl, etc.

Eu fiz uma adaptação/ modificação de um tutorial que eu tenho, e por sinal é excelente, sobre o Grep e Expressões Regulares em inglês. Espero que tenha ficado legal e vocês gostem.

O que ele faz?

O grep basicamente faz buscas. Mais precisamente:

    grep palavra file    retorna todas as linhas do arquivo file
que contenham palavra

Outro jeito de usar o grep é atraves de pipe (lembram dos pipes?). Por exemplo:

    ls | grep palavra

Lista todos os arquivos que contenham palavra em seu nome. Ou seja, a entrada do grep é uma lista de arquivos (gerada pelo ls) que será filtrada, sendo impressas somente as linhas que contenham palavra.

Usando caracteres coringas

Suponho que todos saibam o que são caracteres coringas. Caso contrário, coringas são caracteres especiais que substituem outros. Geralmente o caracter "*" é um coringa que significa "qualquer caracter em qualquer quantidade". Por isso se a gente executar "ls *", onde "*" entra no lugar do "nome do arquivo", significando qualquer string de qualquer tamanho. Por isso ele lista todos os arquivos.

Mas agora voltemos ao grep. Será que ele aceita coringas ??? A resposta é mais do que sim. O grep suporta algo que vai além de coringas, ele suporta Expressões Regulares. Mas vamos começar apenas com coringas. Um dos mais usados com o grep é o "." Vamos a um exemplo:


>cat file                                          >grep b.g
file
big                                                 big
bad bug                                          bad bug
bigger                                            bigger
boogy

Note que boogy não casa, desde que "." significa "qualquer e apenas um caracter". Para significar strings arbitrárias utilizamos "*", que funciona da seguinte maneira:

"A expressão consistindo de um caracter seguido por um * casa com qualquer número (inclusive zero) de repetições desse caracter. Em particular, ".*" significa qualquer string."

Para compreendermos vamos a mais exemplos:


>cat file
 big
 bad bug 
 bag
 bigger
 boogy>grep b.*g file
big
bad bug
bag
bigger
boogy>grep b.*g. File
bigger
boogy>grep ggg* file
bigger


Próximo»

O que ele faz?
Usando caracteres coringas
Avançando para expressões regulares
Outros operadores úteis
Casando com um número especifico de repetições
Usando backreference (referencia anterior)
Alguns detalhes cruciais: caracteres especiais e aspas
Sintaxe das expressões regulares estendidas


Enviar para um amigo

Imprimir

Índice de artigos

ENQUETE
De todas as tecnologias lançadas nesse ano,qual você acha que ganhara mais o mercado?

O Iphone
O Android
O Chrome
O eeepc de 10 polegadas
Ainda acho que tem alguns melhores


NEWSLETTER
Inscreva-se e receba as últimas notícias, programas, artigos, novidades e tudo do mundo Linux que aconteceu na semana.
 
Digite seu email:

Publicidade / Sobre OLinux / Entre em Contato / Privacidade
Copyright (c) 2000-2007, OLinux - O Portal de Linux do Brasil.
Desenvolvido por: Linux Solutions
Todos os Direitos Reservados.