Como administrador de sistema em um sistema Linux, você pode ter que analisar um enorme arquivo de log no Linux. Pode parecer uma tarefa meticulosa, especialmente nos casos em que você precisa combinar padrões. Felizmente, o comando grep no Linux é uma benção para tais situações. Se você está se perguntando o que é o comando grep e como ele funciona, abaixo, preparamos um guia fácil para ajudá-lo a entender esse útil comando do Linux.
Índice
O que é o comando grep no Linux?
O comando grep é uma poderosa ferramenta de linha de comando no Linux usada para pesquisar e filtrar padrões ou strings específicos em um arquivo, diretório, ou mesmo na saída de outros comandos. Você pode estar se perguntando sobre seu nome incomum; bem, significa”Global Regular Expression Print”. Foi introduzido pela primeira vez por Ken Thompson em 1973 para o sistema operacional Unix. Com sua versatilidade e facilidade de uso, o comando grep é uma ferramenta obrigatória no arsenal de todos os usuários do Linux.
Geralmente, o comando grep vem pré-instalado na maioria das distribuições Linux, mas se você achar que está faltando em seu sistema, instale-o usando os seguintes comandos:
Instalar em sistemas baseados em Debian:
sudo apt install grep
Instalar em sistemas baseados em Fedora:
sudo yum install grep
Instalar em sistemas baseados em Arch:
sudo pacman-S grep
Comando Grep: sintaxe e opções
Usar o comando grep no Linux é bastante simples, graças à sua sintaxe simples e às várias opções para brincar. A sintaxe para usar o comando grep é:
grep
Na sintaxe acima, substitua o
Como usar o comando Grep no Linux
Usar o comando grep é fácil e segue uma sintaxe simples. Tudo o que você precisa fazer é fornecer o nome do arquivo ou diretório que deseja pesquisar e o padrão que deseja corresponder. Para o padrão, você pode usar as palavras exatas ou expressões regulares. Você deve estar se perguntando – o que é “expressão regular” aqui? Expressões regulares são strings especiais que são interpretadas de maneira diferente quando usadas em áreas específicas. Eles são substituídos por todas as combinações possíveis correspondentes ao padrão.
Diga, por exemplo, que você deseja corresponder endereços de e-mail, você pode usar o regex “(.+)\@(.+)\n“. Parece complicado? Vamos detalhar isso:
(.+) corresponde a qualquer caractere, exceto novas linhas\@ verifica se o símbolo “@” está presente na frase fornecida.
Agora que você sabe o que são expressões regulares e como funciona o comando grep, vamos ver como usar o comando grep no Linux.
Pesquisar strings em arquivos com o comando grep
A maneira mais comum de usar o grep é pesquisar strings específicas em um arquivo. A sintaxe básica para pesquisar com o comando grep em arquivos é:
grep
Na parte
grep”mango”fruits.txt
Se você deseja para pesquisar ignorando o caso, use o sinalizador-i com o comando grep para o exemplo acima:
grep-i”mango”fruits.txt
Pesquisar em vários arquivos com grep
Com o comando grep, você pode pesquisar não apenas em um único arquivo, mas também em vários arquivos. Esse recurso se torna particularmente útil quando você precisa passar por vários arquivos grandes. A sintaxe para pesquisar strings/padrões em vários arquivos com o comando grep é:
grep
Por exemplo, se você quiser para pesquisar a string “aluno”, dentro dos arquivos “aluno1.txt” e “aluno2.txt”, use este comando:
grep”John”aluno1.txt aluno2.txt
Pesquisar todos os arquivos em um diretório com grep
Suponha que você precise procurar por uma string e não se lembre do nome do arquivo onde ela existe. Obviamente, você pode escrever todos os nomes de arquivos presentes no diretório, mas, em vez disso, pode simplesmente usar o curinga “*” como mostrado:
grep
Por exemplo, se você deseja pesquisar a string “apple” em todos os arquivos presentes no diretório, use este comando:
grep”apple”*
Se você deseja pesquisar apenas em tipos de arquivo específicos, use este sintaxe:
grep
Por exemplo, se você deseja pesquisar a palavra “mango” apenas em arquivos.txt, use este comando:
grep”mango”*.txt
Usando expressões regulares com grep
A principal vantagem de usar o comando grep sobre outras ferramentas/comandos é a capacidade de processar expressões regulares para pesquisar contente. Basta incluir o sinalizador-e com o comando grep para pesquisar usando expressões regulares:
grep-e
Por exemplo, se você deseja filtrar IDs de e-mail use este comando:
grep-e”(.+)\@(.+)”emails.txt
Pesquisar várias palavras-chave usando o comando grep
Até agora, você deve estar confortável pesquisando para alguns padrões ou palavras usando grep. Mas, e se você precisar pesquisar várias palavras/padrões? Bem, grep tem cobertura para isso também. Para pesquisar várias palavras usando o comando grep, use esta sintaxe:
grep”
Aqui, o \| especifica grep para imprimir o resultado se qualquer uma das duas consultas corresponder. Por exemplo, se você deseja pesquisar as palavras “apple” e “mango” no arquivo “fruits.txt”, use este comando:
grep”apple\|mango”fruits.txt
Contagem de resultados correspondentes usando o comando grep
Às vezes, você pode precisar saber o número de resultados correspondentes. Para isso, você pode usar o sinalizador-c com o comando grep:
grep-c”pattern_to_search”filename
Por exemplo, se você precisar ver quantos IDs de e-mail existem no arquivo aluno1.txt, use este comando:
grep-E-c”(.+)@(.+)”aluno1.txt
Se você quiser ver o número de linhas que não correspondem à consulta de pesquisa , simplesmente adicione o sinalizador-v junto com-c:
grep-v-E-c”(.+)@(.+)”aluno1.txt
Usando o comando grep com shell pipes
A maneira como os shell pipes funcionam no Linux é enviar a saída de um comando para outro comando como entrada. A sintaxe básica para usar shell pipes é:
first_command | second_command
Com shell pipes, filtrar alguma saída de comando com o comando grep torna-se muito mais fácil, em vez de rolar constantemente e procurar por algo. Para filtrar uma palavra ou padrão específico de uma saída de comando específica, simplesmente substitua
first_command | grep
Por exemplo, se você quiser ver quantas vezes o comando gcc foi executado anteriormente, você pode usar este comando:
history | grep gcc
Isso mostrará apenas os resultados que contêm a palavra “gcc”, conforme mostrado na figura abaixo.
Usando o comando grep no Linux
O comando grep é uma ferramenta essencial para usuários que desejam pesquisar padrões ou palavras específicas em vários arquivos, diretórios ou até mesmo em outras saídas de comandos do Linux. Depois de obter todas as opções e sintaxe essenciais, o comando grep pode ajudá-lo a aumentar exponencialmente sua produtividade. Enquanto estiver aqui, confira os novos recursos do Ubuntu 23.04.
Perguntas frequentes do comando Grep no Linux
O comando grep diferencia maiúsculas de minúsculas ao pesquisar padrões?
Por padrão, o grep funciona de maneira sensível a maiúsculas e minúsculas. Mas, se você precisar pesquisar ignorando o caso, use o sinalizador-i.
Como posso pesquisar em arquivos compactados?
Zgrep, uma versão modificada do grep pode ser usada para pesquisa em arquivos compactados. A sintaxe para pesquisar em arquivos compactados usando o comando zgrep é: zgrep”
Deixe um comentário
No ano passado, a MSI lançou o Titan GT77 com o Intel Core i9-12900HX e o RTX 3080 Ti Laptop GPU, e foi o laptop de jogos mais poderoso da face do planeta. Foi o mais pesado dos pesos pesados […]
Já se passaram alguns meses desde o lançamento da série iPhone 14 e está bem estabelecido que é o ano dos modelos Pro. Mas se você pretende ir para os profissionais com babados, o valor a gastar […]
A Wondershare tem desenvolvido alguns dos melhores softwares e ferramentas para simplificar nossa vida e esforços criativos nos últimos anos. Particularmente, o Wondershare Filmora recebeu inúmeros elogios. Recebeu o prêmio de Líder de Edição de Vídeo […]