Sistemas Operacionais e
Introdução a Programação
Módulo 1 – Sistemas Operacionais
expressões regulares
Prof. Tiago Semprebom
Objetivos
• Introdução a expressões regulares (ER).
• Exemplos de algumas expressões regulares
bastante utilizadas.
Introdução
• Uma expressão regular (ER) é um método
formal de se especificar um padrão de texto.
• É uma combinação de símbolos, caracteres com
funções especiais (metacaracteres), que
agrupados formam uma sequência (uma
expressão).
Expressões regulares
• Servem para dizer algo abrangente de forma
específica. Definindo o padrão de busca, tem-se
uma lista finita de possibilidades de casamento.
• Ex. [rgp]ato
– Pode casar com “rato”, “gato” ou “pato”.
Comando grep
• Para não precisar listar o conteúdo do arquivo
todo para sabermos os dados do usuário (root
por exemplo), podemos usar o grep para
pesquisar e nos retornar somente a linha dele.
• Ex.
– grep PALAVRA ARQUIVO
– grep root /etc/passwd
– Retorna a linha que contém a palavra root
Conhecendo metacaracteres
• O circunflexo ^:
– Simboliza o início de uma linha.
– Ex.: grep ^root /etc/passwd
• Apresenta linhas onde a palavra root aparece no
começo da linha.
Conhecendo metacaracteres
• O cifrão $:
– Representa o fim de uma linha.
– Ex.: grep bash$ /etc/passwd
• Apresentamos todos os usuário além do root que
utilizam o “bash” como shell.
• Dica: sempre proteja sua expressão regular com
aspas simples (Ex.: grep ‘bash$’ /etc/passwd).
Conhecendo metacaracteres
• A lista [ ]:
– Pesquisar usuários com o nome Carlos. Pode existir
dois usuários Carlos (um carlos e um acs).
– Ex.: grep ‘[Cc]arlos’ /etc/passwd
• Pesquisa por Carlos e carlos ao mesmo tempo.
– Ex.: grep ‘^[aeiou]’ /etc/passwd
• Procura por usuários cujo login comece com um
vogal.
Conhecendo metacaracteres
• O ponto .
– Ás vezes é necessário permitir “qualquer” caractere numa certa
posição.
– Ex. grep ‘^ . [aeiou]’ /etc/passwd
• A partir do começo da linha, procure qualquer
caractere seguido de uma vogal.
– Ex. grep ‘^ ...........................$’ /etc/passwd
• Linhas que possuem exatamente 27 caracteres
Conhecendo metacaracteres
• As chaves { }
– Colocando um número entre chaves “{ }”, indica-se
uma quantidade de repetições do caractere (ou
metacaractere).
– Ex.: egrep ‘^.{27}$’ /etc/passwd ou
grep ‘^./{27/}$’ /etc/passwd
• Faz o mesmo que o anterior, procura por linhas que tenham
27 caracteres, quaisquer.
Conhecendo metacaracteres
• egrep ‘^.{20,40}$’ /etc/passwd
– Procurar por linhas que tenham de 20 a 40
caracteres.
• egrep ‘^.{40.}$’ /etc/passwd
– Obtem linhas que possuem 40 caracteres ou
mais.
Download

Sistemas Operacionais e Introdução a Programação