Por Rubaiat Hossain
O email

O comando grep é usado para pesquisar strings em um arquivo de texto. Aqui estão dez exemplos de grep que podem ser úteis.

O comando grep fornece acesso ao utilitário grep, uma ferramenta poderosa de processamento de arquivos usada para encontrar padrões em arquivos de texto. Ele tem muitos casos de uso práticos e é certamente um dos comandos do Linux mais usados. Este guia ilustra alguns comandos grep do Linux simples, mas úteis, que têm usos no mundo real.

Arquivo de exemplo para demonstração

Criamos um arquivo de referência para ajudar os leitores a entender o grep de forma mais eficaz. Você pode criar uma cópia deste arquivo emitindo o seguinte comando shell em seu terminal.

gato <> arquivo de teste
Este é um arquivo de texto simples que contém
várias strings, bem como alguns números de telefone
(555) 555-1234 (567) 666-2345
e e-mail mais endereços da web
[email protected]
https://google.com
ftp://mywebserver.com
FIM

1. Encontrar texto em arquivos

Para pesquisar um padrão de texto em um arquivo, simplesmente execute grep seguido pelo nome do padrão. Além disso, especifique o nome do arquivo que contém o texto.

arquivo de teste grep "email"

Este comando irá exibir a linha em nosso arquivo de teste que contém a palavra o email. Você também pode pesquisar o mesmo texto em vários arquivos usando grep.

grep "exemplo" / usr / share / dict / american-english / usr / share / dict / british-english

O comando acima exibe todas as ocorrências da palavra exemplo no inglês americano e inglês britânico arquivos de dicionário.

2. Encontre palavras de correspondência exata

O comando Linux grep ilustrado no exemplo anterior também lista linhas com correspondências parciais. Use o comando fornecido a seguir se precisar apenas das ocorrências exatas de uma palavra.

grep -w arquivo de teste "string"

O -C ou --word-regexp opção de grep limita a saída apenas para correspondências exatas. Grep consiste em alguns sinalizadores adicionais que também podem ser usados ​​com o comando padrão.

Relacionado: Como Grep obteve esse nome? A história por trás da criação do Grep

3. Ignorar distinções de maiúsculas e minúsculas

Por padrão, o grep procura padrões diferenciando maiúsculas de minúsculas. No entanto, você pode querer desligar isso se não souber em que caso o padrão ocorre de antemão.

grep -i "este" arquivo de teste

Use o -eu ou --ignorar caso opção para desligar a diferenciação de maiúsculas e minúsculas.

4. Conte o número de padrões

O -c bandeira significa contar. Ele exibe o número de correspondências encontradas para um determinado padrão. Os administradores podem usar isso para recuperar informações específicas sobre o sistema.

Você pode canalizar o comando ps com grep para contar os processos que pertencem ao usuário atual.

ps -ef | grep -c $ USER

O seguinte comando exibe o número de MP3 arquivos presentes em um diretório.

ls ~ / Música | grep -c .mp3

5. Exibir números de linha contendo correspondências

Você pode querer encontrar os números das linhas que contêm uma determinada correspondência. Use o -n ou --número da linha opção de grep para fazer isso.

cat / etc / passwd | grep -n rubaiat

Esta opção é particularmente útil para depuração de códigos-fonte e solução de problemas de arquivos de log. Para exibir todos os números das linhas no ~ / .vimrc que são usados ​​para configurando o editor de texto Vim:

grep -n "set" ~ / .vimrc

6. Encontre nomes de arquivos usando extensões

Para obter uma lista de todos os MP3 arquivos presentes no ~ / Música diretório:

ls ~ / Music / | grep ".mp3"

Você pode substituir .mp3 com quaisquer outras extensões para localizar arquivos específicos. O seguinte comando lista todos os php arquivos presentes no diretório de trabalho atual.

ls | grep ".php"

7. Encontre padrões em arquivos compactados

O comando grep do Linux também pode encontrar padrões dentro de arquivos compactados. Você precisará usar o zgrep comando para fazer isso, no entanto. Primeiro, crie um arquivo compactado de nosso arquivo de teste digitando:

arquivo de teste gzip

Agora, você pode pesquisar texto ou outros padrões dentro do arquivo resultante.

zgrep email test-file.gz

8. Encontre endereços de e-mail

Os administradores também podem listar endereços de e-mail de arquivos de texto usando o comando grep do Linux. O exemplo a seguir faz isso procurando por um padrão de expressão regular.

grep '^ [a-zA-Z0-9] \ + @ [a-zA-Z0-9] \ + \. [a-z] \ {2, \}' arquivo de teste

Você pode encontrar expressões regulares para fazer trabalhos semelhantes ou pode criá-las você mesmo, se souber como funcionam.

9. Encontre números de telefone usando Grep

Você pode usar expressões regulares grep para filtrar números de telefone de um arquivo de texto. Observe que você terá que ajustar o padrão para corresponder ao tipo de número de telefone de que precisa.

grep '\ (([0-9] \ {3 \}) \ | [0-9] \ {3 \} \) [-] \? [0-9] \ {3 \} [-] \? [0-9] \ {4 \} 'arquivo de teste

O comando mencionado filtra os números de telefone americanos de dez dígitos.

10. Encontrar URLs de arquivos de origem

Podemos aproveitar o poder do grep para listar URLs encontrados em arquivos de texto. O comando fornecido abaixo imprime todos os URLs presentes no arquivo de teste.

grep -E "^ (http | https | ftp): [\ /] {2} ([a-zA-Z0-9 \ - \.] + \. [a-zA-Z] {2,4}) "arquivo de teste

Estamos novamente usando o -E opção para expressões regulares estendidas. Você também pode usar o egrep comando para evitar adicionar isso.

egrep "^ (http | https | ftp): [\ /] {2} ([a-zA-Z0-9 \ - \.] + \. [a-zA-Z] {2,4})" teste -Arquivo

Dominar o Comando Linux Grep

Apresentamos vários exemplos úteis do comando grep do Linux para resolver problemas do mundo real. Embora esses exemplos ilustrem o poder do grep para o processamento de texto, você precisará dominar as expressões regulares se quiser ser superprodutivo com o grep.

Às vezes, os usuários do Linux se deparam com certas situações em que não conseguem se lembrar das várias opções relacionadas a um comando. Felizmente, o sistema operacional Linux fornece maneiras de obter ajuda de linha de comando para quase todos os utilitários do sistema.

O email
7 maneiras de obter ajuda de linha de comando no Linux

Todos os comandos essenciais para aprender sobre os comandos do Linux na linha de comando

Leia a seguir

Tópicos relacionados
  • Linux
  • Linux
  • Comandos Linux
Sobre o autor
Rubaiat Hossain (15 artigos publicados)

Rubaiat é um graduado em CS com uma forte paixão por código aberto. Além de ser um veterano do Unix, ele também trabalha com segurança de rede, criptografia e programação funcional. Ele é um colecionador ávido de livros de segunda mão e tem uma admiração sem fim pelo rock clássico.

Mais de Rubaiat Hossain

Assine a nossa newsletter

Junte-se ao nosso boletim informativo para dicas de tecnologia, análises, e-books grátis e ofertas exclusivas!

Mais um passo…!

Confirme o seu endereço de e-mail no e-mail que acabamos de enviar.

.