Sobre expressões regulares em egrep.

Writtenby Zeph Grunschlag

egrepis um acrónimo para “Extended Global Regular Expressions Print”. É um programa que escaneia um arquivo especificado linha por linha, retornando linhas que contêm um padrão correspondente a uma determinada expressão regular.

O egrepcommand padrão se parece com:

egrep<flags> ‘<regularexpression>’ <filename>

São algumas bandeiras comuns: -c para contar o número de correspondências bem sucedidas e não imprimir as correspondências reais, -i para tornar o caso de busca insensível, -n para imprimir o número da linha antes da impressão eachmatch, -v para pegar o complemento da expressão regular (isto é, retornar as linhas que não correspondem), e -l para imprimir os nomes dos arquivos com linhas que correspondem à expressão.

Expressões regulares vêm em sua própria variante egrep (isto é muito semelhante às expressões regulares encontradas em emacs, perl, etc.)

(A letra grega ε (epsilon) representa a string vazia)

Uma das principais diferenças entre expressões regulares egrep e expressões regulares teóricas é que, no egrep, os resultados podem ocorrer em qualquer lugar dentro da string, enquanto no uso teórico, os resultados sempre começam a partir do primeiro caractere da string e terminam no último caractere. Por exemplo, considere a string 000001000. No egrep, a expressão regular 010 dá uma correspondência; por outro lado, a expressão teórica regular 010 não corresponde a 000001000 porque 010 e 000001000 não são iguais. O equivalente teórico da 010 do egrep é (0+1)*010(0+1)*. E se você quiser considerar o início e o fim das cordas? O egreppprocede com o símbolo do carpete ^ para especificar o início, e o símbolo do dólar $ para o fim. Então o equivalente do egrep da teoria 010 é dado por ^010$ .

outro par de símbolos egrepsy úteis são os limites das palavras \< e\> que respectivamente denotam o início e o fim de uma palavra.

Para especificar um conjunto ou intervalo de caracteres use chaves. Tonegate o conjunto, use o símbolo do chapéu ^ como o primeiro caractere. Por exemplo,

  • é o conjunto { a, 9, A, 0, 5 }.
  • é o conjunto complementar ASCII – { a, 9, A, 0, 5 } (tudo excepto a, 9, A, 0 e 5).
  • é o conjunto de todas as letras minúsculas { a, b, c, d, …, z }
  • é o conjunto de todas as letras ASCII excepto as letras minúsculas, os numerais entre 4 e 9, e as letras maiúsculas Q e R.

Alguns exemplos:

  • egrep ‘^(0|1)+ ++$’ ficheiro de pesquisa.txt

match todas as linhas no searchfile.txt que começam com anon-empty bitstring, seguido por um espaço, seguido por uma palavra alfabética não vazia que termina a linha

Deixe uma resposta

O seu endereço de email não será publicado.