Expressão regular
Corresponder à string de texto incluída (regular é a relação de inclusão, contanto que seja incluída, ela corresponderá)
- Expressão regular básica: carregar via grep
- Expressão regular estendida: por meio de egrep ou grep -E
grep -v negate
Expressão regular básica
- n * (asterisco): corresponder n que contém o caractere anterior, corresponder 0 vezes ou qualquer número de vezes (se houver um caractere antes do asterisco, corresponder 0 vezes significa corresponder a todos, todo o texto)
- . (Ponto): a correspondência contém qualquer caractere (exceto caracteres de nova linha)
- ^: corresponde à primeira linha
- $: corresponde à última linha
- [] (Colchetes): corresponde a qualquer caractere entre colchetes, o intervalo é 1-9 (um horizontal)
- [^] (entre colchetes + sinal angular): invertido, diferente dos colchetes externos + sinal angular ^ []
- \: Cancela o significado de caracteres especiais e se torna caracteres comuns
- {n}: n ocorrências do caractere anterior
- {n,}: O caractere anterior aparece mais ou igual a n vezes
- {n, m}: o caractere anterior aparece mais de n vezes e menos de m vezes
Ao usar grep -E, os últimos três \ não adicionam barra invertida {n, m}
Expressão regular estendida
- +: O símbolo anterior corresponde uma ou mais vezes
- ? : O símbolo anterior corresponde a 0 ou 1 vez
- |: Ou o relacionamento
- (): representa um personagem inteiro
Perguntas práticas:
1. Exiba as linhas que começam com S maiúsculo e A no arquivo / proc / meminfo
egrep "^(A|S)" /proc/meminfo
2. Exibe as linhas que não terminam com / bin / bash no arquivo / etc / passwd
grep -v "/bin/bash$" /etc/passwd
3. Exibir os 4 usuários começando com s no arquivo / etc / passwd
grep "^s...:" /etc/passwd
4. Exibir linhas com espaços no arquivo / etc / passwd (não diferencia maiúsculas de minúsculas)
grep -i "[0-9a-z] [0-9a-z]" /etc/passwd
5. Exibir linhas em branco no arquivo / etc / passwd
grep "^$" /etc/passwd
6. Exiba o número de dois ou três dígitos no arquivo / etc / passwd
egrep "[0-9]{2,3}" /etc/passwd