20 exemplos de comando linux egrep
- 4259
- 815
- Leroy Lebsack
Resumo: Neste guia, discutiremos alguns dos exemplos práticos do comando EGREP. Depois de seguir este guia, os usuários poderão executar o texto pesquisando com mais eficiência no Linux.
Você já ficou frustrado porque não consegue encontrar as informações necessárias nos logs? Extrair as informações necessárias de um grande conjunto de dados é uma tarefa complexa e demorada.
As coisas se tornam realmente desafiadoras se o sistema operacional não fornecer as ferramentas certas e aqui vem o Linux para resgatá -lo. O Linux fornece vários utilitários de filtragem de texto, como awk, sed, corte, etc.
No entanto, o EGREP é um dos utilitários mais poderosos e comumente usados para o processamento de texto no Linux, e vamos discutir alguns exemplos do egrep comando.
O egrep O comando no Linux é reconhecido pela família do comando Grep, que é usado para pesquisar e combinar um padrão específico em arquivos. Funciona de maneira semelhante a grep -e (Grep estendeu a regex), mas pesquisa principalmente um arquivo específico ou até linhas para alinhar ou imprimir a linha no arquivo especificado.
A sintaxe do egrep O comando é o seguinte:
$ EGREP [Opções] Padrões [arquivos]
Vamos criar um arquivo de texto de amostra com o seguinte conteúdo para usar um exemplo:
$ gat amostra.TXT
Arquivo de texto de amostra Aqui, podemos ver que o arquivo de texto está pronto. Agora vamos discutir alguns exemplos comuns que podem ser usados diariamente.
1. Como encontrar um padrão em um único arquivo
Vamos começar com um exemplo simples de correspondência de padrões, onde podemos usar o comando abaixo para pesquisar uma string profissional em um amostra.TXT arquivo:
Amostra de $ eGREP Professionals.TXT
Pesquise por string no arquivo Aqui, podemos ver que o comando imprime a linha que contém o padrão especificado.
2. Como destacar padrões correspondentes no arquivo
Podemos tornar a saída mais informativa, destacando o padrão correspondente. Para conseguir isso, podemos usar o --cor opção do egrep comando. Por exemplo, o comando abaixo destacará o texto profissionais na cor vermelha:
$ eGREP -CORA = Amostra de profissionais de automóveis.TXT
Destaque o texto no arquivo Aqui, podemos ver que a mesma saída é mais informativa em comparação com a anterior. Além disso, podemos identificar facilmente que a palavra profissionais é repetido duas vezes.
Na maioria dos sistemas Linux, a configuração acima é ativada por padrão usando o seguinte alias:
$ alias egrep = "EGREP -COLOR = AUTO"
3. Como encontrar um padrão em vários arquivos
O egrep O comando aceita vários arquivos como um argumento, o que nos permite pesquisar um padrão específico em vários arquivos. Vamos entender isso com um exemplo.
Primeiro, crie uma cópia do amostra.TXT arquivo:
$ cp amostra.txt amostra-cópia.TXT
Agora, procure o padrão profissionais Nos dois arquivos:
Amostra de $ eGREP Professionals.txt amostra-cópia.TXT
Pesquise por string em vários arquivos No exemplo acima, podemos ver o nome do arquivo na saída, que representa a linha correspondente desse arquivo.
4. Como contar linhas correspondentes no arquivo
Às vezes, só precisamos descobrir se o padrão está presente ou não no arquivo. Se sim, então em quantas linhas está presente? Nesses casos, podemos usar o -c opção do comando.
Por exemplo, o comando abaixo será exibido 1 como uma saída porque a palavra profissionais está presente em apenas uma linha.
Amostra de $ eGREP -C Professionals.TXT 1
5. Como imprimir apenas linhas correspondentes no arquivo
No exemplo anterior, vimos que o -c a opção não conta o número de ocorrências do padrão. Por exemplo, a palavra profissionais aparece duas vezes na mesma linha, mas o -c a opção trata isso como uma única partida apenas.
Nesses casos, podemos usar o -o opção do comando para imprimir apenas o padrão correspondente. Por exemplo, o comando abaixo mostrará a palavra profissionais Em duas linhas separadas:
Amostra de $ eGREP -O Professionals.TXT
Agora, vamos contar as linhas usando o comando WC:
Amostra de $ eGREP -O Professionals.txt | wc -l
Imprimir linhas correspondentes no arquivo No exemplo acima, usamos a combinação de egrep e Banheiro comandos para contar o número de ocorrências do padrão particular.
6. Como encontrar um padrão ignorando o caso
Por padrão, egrep executa a correspondência de padrões de maneira sensível ao caso. Significa palavras - nós, nós, nós e somos tratados como palavras diferentes. No entanto, podemos fazer cumprir a pesquisa insensível ao caso usando o -eu opção.
Por exemplo, no padrão de comando abaixo, a correspondência será bem -sucedida para o texto nós e Nós:
$ eGREP -I Amostramos.TXT
String insensível ao caso de pesquisa 7. Como excluir padrões parcialmente correspondentes
No exemplo anterior, vimos que o egrep O comando executa uma partida parcial. Por exemplo, quando procuramos o texto nós Então a correspondência de padrões também teve sucesso para outros textos. Como web, site e foram.
Para superar essa limitação, podemos o -c opção, que aplica toda a palavra correspondente.
$ eGREP -W Amostramos.TXT
Imprimir apenas padrões correspondentes no arquivo 8. Como inverter a correspondência de padrões no arquivo
Até agora, usamos o egrep comando para imprimir as linhas nas quais o padrão fornecido está presente. No entanto, às vezes queremos executar a operação de uma maneira oposta.
Por exemplo, podemos querer imprimir as linhas em que o padrão fornecido não está presente. Podemos conseguir isso com a ajuda do -v opção:
$ eGREP -V Amostramos.TXT
Inverter padrões de correspondência no arquivo Aqui, podemos ver que o comando imprime toda a linha que não contém o texto nós.
9. Como encontrar o número da linha do padrão
Podemos usar o -n Opção do comando para ativar a numeração da linha, que mostra o número da linha na saída quando a correspondência de padrões é bem -sucedida. Este truque simples torna a saída mais significativa.
Amostra de $ eGREP -N Professionals.TXT
Número da linha de impressão de padrão correspondente Na saída acima, podemos ver que a palavra profissionais está presente no 5 ª linha.
10. Como executar a correspondência de padrões no modo silencioso
No modo silencioso, o egrep O comando não imprime o padrão correspondente. Portanto, temos que usar o valor de retorno do comando para identificar se a correspondência de padrões foi ou não bem -sucedida.
Podemos usar o -q Opção do comando para ativar o modo silencioso, que é útil ao escrever scripts de shell.
Amostra de $ eGREP -Q Professionals.TXT $ eGREP -Q inexistente amostra de padrões.TXT
Matriz de padrões de pesquisa no modo silencioso Neste exemplo, o zero O valor de retorno indica a presença do padrão, enquanto o valor diferente de zero indica a ausência do padrão.
11. Como exibir linhas antes do padrão corresponder
Às vezes, faz sentido mostrar algumas linhas ao redor do padrão correspondente. Para esses cenários, podemos usar o -B opção do comando, que exibe N linhas antes do padrão correspondente.
Por exemplo, o comando abaixo imprimirá a linha para a qual o padrão corresponde, bem como 2 linhas antes dele.
Amostra de $ eGREP -B 2 -N Professionals.TXT
Linhas de impressão antes da correspondência do padrão Neste exemplo, usamos o -n opção para exibir números de linha.
12. Como exibir linhas após a correspondência do padrão
De maneira semelhante, podemos usar o -A opção do comando para exibir linhas após a correspondência do padrão. Por exemplo, o comando abaixo imprimirá a linha para a qual a correspondência do padrão terá sucesso, bem como as próximas 2 linhas.
$ egrep -a 2 -n Profissionais Amostra.TXT
Linhas de impressão após correspondência de padrão 13. Como exibir linhas ao redor da correspondência do padrão
Além disso, o egrep O comando suporta o -C opção que combina a funcionalidade das opções -A e -B, que exibe as linhas antes e depois do padrão correspondente.
Amostra de $ eGREP -C 2 -N Professionals.TXT
As linhas de impressão em torno do padrão correspondente 14. Como encontrar um padrão em vários arquivos recursivamente
Conforme discutido anteriormente, podemos executar a correspondência de padrões em vários arquivos. No entanto, a situação se torna complicada quando os arquivos estão presentes em vários subdiretos e passamos todos eles como argumentos de comando.
Nesses casos, podemos executar a correspondência de padrões de maneira recursiva usando o -r opção como mostrado no exemplo a seguir.
Primeiro, crie 2 subdiretos e copie o amostra.TXT Arquive neles:
$ mkdir -p dir1/dir2 $ cp amostra.amostra txt dir1/ $ cp.txt dir1/dir2/
Agora, vamos realizar a operação de pesquisa de uma maneira recursiva:
$ eGREP -R Profissionais Dir1
Pesquise a string recursivamente em arquivos No exemplo acima, podemos ver que a correspondência do padrão foi bem -sucedida para o dir1/dir2/amostra.TXT e dir1/amostra.TXT arquivos.
15. Como combinar um único personagem usando expressões regulares
Podemos usar um ponto (.) personagem para combinar com qualquer caractere, exceto o final da linha. Por exemplo, a expressão regular abaixo corresponde ao texto har, chapéu e tem:
$ egrep "ha." amostra.TXT
Combine o caractere único no arquivo 16. Como combinar zero ou mais ocorrências de caráter
Podemos usar o asterisco (*) Para combinar zero ou mais ocorrências do personagem anterior. Por exemplo, a expressão regular abaixo corresponde ao texto que contém uma string nós seguido por zero ou mais ocorrências do personagem b.
$ eGREP "Web*" amostra.TXT
Combine a string no arquivo de texto 17. Como combinar uma ou mais ocorrências do personagem anterior
Podemos usar o plus (+) Para combinar uma ou mais ocorrências do personagem anterior. Por exemplo, a expressão regular abaixo corresponde ao texto que contém a string nós seguido por pelo menos uma ocorrência do personagem b.
$ egrep "web+" amostra.TXT
Combinar string por caractere no arquivo Aqui, podemos ver que a correspondência de padrões não é bem -sucedida pelas palavras - nós e eram, devido a ausência do personagem b.
18. Como combinar o início da linha
Podemos usar o caret (^) Para representar o início da linha. Por exemplo, a expressão regular abaixo imprime as linhas que começam com o texto Nós:
$ egrep "^amostra".TXT
Imprimir texto correspondente com linha de partida 19. Como combinar o fim da linha
Podemos usar o dólar ($) Para representar o fim da linha. Por exemplo, a expressão regular abaixo imprime as linhas que terminam com o texto e.:
$ egrep "e.$ "amostra.TXT
Texto correspondente de impressão com linha final 20. Como remover linhas vazias no arquivo
Podemos usar o caret (^) imediatamente seguido pelo dólar ($) Para representar a linha vazia. Vamos usar isso em uma expressão regular para remover linhas vazias:
$ eGREP -N -V "^$" Amostra.TXT
Remova linhas vazias no arquivo Na saída acima, podemos ver que os números de linha 2, 4, 6, 8 e 10 não são exibidos, pois estão vazios.
Conclusão
Neste artigo, discutimos alguns exemplos úteis do egrep comandos. Pode-se usar esses exemplos na vida cotidiana para melhorar a produtividade.
Você conhece qualquer outro melhor exemplo do comando EGREP no Linux? Deixe -nos saber suas opiniões nos comentários abaixo.
- « “Proibido - você não tem permissão para acessar / neste servidor”
- Como instalar e configurar o Firewall Basic Opnsense »