Noções básicas de programação Shell - expressões regulares

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

Acho que você gosta

Origin blog.csdn.net/yangshihuz/article/details/110946451
Recomendado
Clasificación