20 exemplos de comando linux egrep
- 4203
- 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.TXTArquivo 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.TXTPesquise 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.TXTDestaque 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.TXTPesquise 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 -lImprimir 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.TXTString 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.TXTImprimir 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.TXTInverter 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.TXTNú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.TXTMatriz 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.TXTLinhas 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.TXTLinhas 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.TXTAs 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 Dir1Pesquise 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.TXTCombine 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.TXTCombine 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.TXTCombinar 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".TXTImprimir 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.TXTTexto 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.TXTRemova 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 »