grep é um utilitário de linha de comando para procurar conjuntos de dados de texto simples para as linhas que correspondem a uma expressão regular.
grep [OPÇÕES] expressão_regular arquivo
Caracter | Descrição |
---|---|
. | Qualquer letra |
^ | início da linha |
$ | final da linha |
[xyz] | Qualquer das letras dentro dos colchetes |
[^xyz] | Qualquer letra fora as dentro dos colchetes |
[t-z] | Qualquer das letras entre t e z |
z* | Letra z zero ou mais vezes |
z+ | Letra z uma ou mais vezes |
?{0,1} | Pode aparecer ou não (opcional) |
*{0,} | Pode aparecer em qualquer quantidade |
+{1,} | Deve aparecer no mínimo uma vez |
a{2} | Casa a letra 'a' duas vezes |
a{2,4} | Casa a letra 'a' de duas a quatro vezes |
a{2,} | Casa a letra 'a' no mínimo duas vezes |
.* | Casa qualquer coisa, é o tudo e o nada |
^ | início da linha |
$ | final da linha |
[abc] | casa com os caracteres a, b e c |
[a-c] | casa com os caracteres a, b e c |
[^abd] | não casa com os caracteres a, b e d |
(um|dois) | casa com as palavras um e dois |
Repetições | |
a{2} | casa com a letra “a” duas vezes |
a{2,5} | casa com a letra “a” duas a cinco vezes |
a{2,} | casa com a letra “a” duas vezes ou mais |
a? | casa com “a” letra a zero vezes ou uma |
a* | casa com a letra “a” zeros vezes ou mais |
a+ | casa com a letra “a” uma vez ou mais |
Curingas | |
. | casa com qualquer caracter uma vez |
.* | casa com qualquer caracter várias vezes |
(esse|aquele) | Casa as palavras 'esse' ou 'aquele' |
1-Procura a palavra marcos no arquivo /etc/passwd:
2-Procura todas as linhas começadas pela letra u no arquivo /etc/passwd:
3-Procura todas as linhas terminadas pela palavra false no arquivo /etc/passwd:
4-Procura todas as linhas começadas pelas vogais no arquivo /etc/passwd:
5-Procura todas as linhas começadas por qualquer caracter e segundo caracter seja qualquer vogal no arquivo /etc/passwd:
6-Procura todas as linhas que contenham uma sequência de 4 números consecutivos:
7-Comando para encontrar linhas em branco:
8-Encontrar e contar linhas em branco:
9-Encontrar mesmo nome, porém com letra inicial minúscula e maiúscula:
10-Encontrar 27 sequência^de 27 caracteres:
Note que foi usado o egrep e não o grep. É porque as chaves fazem parte de um conjunto avançado de Expressões Regulares (“extended”), então o egrep lida melhor com elas. Se fosse para usar o grep normal, teria que “escapar” as chaves
11-Para procurar por linhas que tenham de 20 a 40 caracteres:
12-Para obter as linhas que possuem 40 caracteres ou mais:
13-Econtrar números com 3 dígitos (de 0 a 9) ou mais:
14-Econtrar linhas que começam com ‘vogal minúscula’ e terminam com a palavra ‘bash’, usa−se o curinga “.*” para significar “qualquer coisa”(não confunda com “qualquer caracterer” somente “.”):
15-Procura linhas que comecem com a palavra ‘eric’ ou ‘marcos’ ou ‘camila’:
16-Procura todas as linhas que NÃO comecem com a letra minúscula ‘m’