10 exemplos práticos do comando Linux Grep

10 exemplos práticos do comando Linux Grep

O comando grep fornece acesso ao utilitário grep, uma poderosa ferramenta 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.





a mensagem não está funcionando no macbook air
cat <> test-file
This is a simple text file that contains
multiple strings as well as some telephone numbers
(555) 555-1234 (567) 666-2345
and email plus web addresses
john@doe.com
https://google.com
ftp://mywebserver.com
END

1. Encontre 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.





grep 'email' test-file

Este comando 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 'example' /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 'string' test-file

o -no 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 seu nome? A história por trás da criação do Grep

3. Ignore as 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 'this' test-file

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 ~/Music | grep -c .mp3

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

Você pode querer encontrar os números de linha 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 depurar códigos-fonte e solucionar problemas de arquivos de log. Para exibir todos os números das linhas no ~ / .vimrc que são usados ​​para configurar 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.

como abrir e limpar o ps4
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:

gzip test-file

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,}' test-file

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}' test-file

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

10. Encontre 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})' test-file

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})' test-file

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.

Compartilhado Compartilhado Tweet 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(39 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!

por que meu controlador não se conecta ao meu ps4
Clique aqui para se inscrever