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.
Todos os comandos essenciais para aprender sobre os comandos do Linux na linha de comando
Leia a seguir
- Linux
- Linux
- Comandos Linux
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.
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.