grep

Comando Grep no Linux

Comando Grep no Linux
O comando Grep (impressão de expressão regular global) é o utilitário de linha de comando do Linux mais poderoso e usado regularmente. Usando Grep, você pode pesquisar informações úteis especificando um critério de pesquisa. Ele procura por um padrão de expressão particular em um arquivo especificado. Quando encontra uma correspondência, ele imprime todas as linhas de um arquivo que correspondeu ao padrão especificado. É útil quando você precisa filtrar grandes arquivos de registro.

Neste artigo, explicaremos o uso do utilitário grep com diferentes exemplos. Usaremos o Debian 10 para explicar os comandos e métodos mencionados neste artigo.

Instalando Grep

Grep vem instalado na maioria das distribuições Linux. No entanto, caso esteja faltando em seu sistema, você pode instalá-lo usando o seguinte método no Terminal:

$ sudo apt-get install grep

Usando Grep

Aqui está a sintaxe básica do comando grep. Começa com grep seguido por algumas opções e critérios de pesquisa e termina com o nome do arquivo.

$ grep [opções] PADRÃO [ARQUIVO…]

Pesquisar por arquivos

Para pesquisar um nome de arquivo em um diretório que contém uma string específica, você pode usar o grep da seguinte maneira:

$ ls -l | grep -i “string

Por exemplo, para pesquisar um nome de arquivo que contenha uma string “teste“, O comando seria:

$ ls -l | grep -i test

Este comando lista todos os arquivos que contêm a string “teste”.

Procure por uma string em um arquivo

Para pesquisar uma string em um arquivo específico, você pode usar a seguinte sintaxe de comando:

$ grep “string” nome do arquivo

Por exemplo, para pesquisar uma string “teste”Em um arquivo chamado testfile1, nós usamos o seguinte comando:

$ grep “funcionário” testfile1

A saída acima retornou a frase do testfile1 que contém a string “empregado”.

Procure por uma string em vários arquivos

Para pesquisar uma string em vários arquivos, você pode usar a seguinte sintaxe de comando:

$ grep “string” nomedoarquivo1 nomedoarquivo2

Por exemplo, para pesquisar por uma string “funcionário” em nossos dois arquivos testfile1 e testfile2, usamos o seguinte comando:

$ grep “funcionário” testfile1 testfile2

O comando acima irá listar todas as linhas que contêm a string “funcionário” de ambos os arquivos testfile1 e testfile2.

Você também pode usar um caractere curinga se todos os nomes de arquivos começarem com o mesmo texto.

$ grep “string” nome do arquivo *

Por exemplo, se tomarmos o exemplo acima em que nossos nomes de arquivo foram testfile1 e testfile2 , o comando seria:

$ grep “funcionário” testfile *

Procure por uma string em um arquivo, ignorando a caixa da string

Na maioria das vezes, você encontrou isso quando pesquisa por algo usando grep, mas não recebe uma saída. Isso acontece devido a uma incompatibilidade de maiúsculas e minúsculas durante a busca por uma string. Como em nosso exemplo, se usarmos por engano “Empregado" em vez de "empregado”, Ele retornará nil, pois nosso arquivo contém a string“empregado”Em letras minúsculas.

Você pode dizer ao grep para ignorar o caso da string de pesquisa usando o sinalizador -i após o grep da seguinte maneira:

$ grep -i nome de arquivo “string”

Ao usar o sinalizador -i, o comando executará a pesquisa sem distinção entre maiúsculas e minúsculas e retornará todas as linhas contendo a string “empregado”Nele sem levar em conta as letras estão em maiúsculas ou minúsculas.

Pesquise usando a expressão regular

Se usada corretamente, a expressão regular é um recurso muito eficaz no grep. Com o comando Grep, você pode definir uma expressão regular com uma palavra-chave inicial e final. Ao fazer isso, você não precisará digitar toda a linha com o comando grep. A seguinte sintaxe pode ser usada para este propósito.

$ grep “palavra-chave inicial.* finalizando a palavra-chave ”nome do arquivo

Por exemplo, para pesquisar uma linha em um arquivo chamado testfile1 que começa com a string “this” e termina com a string “data”, usamos o seguinte comando:

$ grep “isto.* dados ”testfile1

Irá imprimir toda a linha do testfile1 contendo a expressão (palavra-chave inicial “this” e palavra-chave final “dados”).

Imprime um determinado número de linhas após / antes da string de pesquisa

Você também pode exibir o número específico de linhas em um arquivo antes / depois de uma correspondência de string junto com a própria string correspondida. A seguinte sintaxe pode ser usada para este propósito:

$ grep -A Nome do arquivo “string”

Irá mostrar um número N de linhas depois que a string for correspondida no arquivo especificado, incluindo a string correspondida.

Por exemplo, este é o nosso arquivo de amostra chamado testfile2.

O comando a seguir irá gerar a linha correspondente contendo a string “empregado”, Junto com as 2 linhas depois dele.

$ grep -A 2 -i “funcionário” testfile2

Da mesma forma, para exibir o número N de linhas antes da string correspondente em um arquivo específico, use a seguinte sintaxe:

$ grep -B Nome do arquivo “string”

Para exibir o número N de linhas ao redor da string em um arquivo específico, use a seguinte sintaxe:

$ grep -C Nome do arquivo “string”

Destacando a busca

Grep por padrão imprime as linhas correspondentes, mas não mostra qual parte da linha corresponde. Se você usar a opção -color com grep, ele irá mostrar onde as strings de usinagem aparecem em seu arquivo. Grep por padrão usa a cor vermelha para realçar.

A seguinte sintaxe pode ser usada para este propósito:

$ grep “string” nome do arquivo --color

Contando o número de partidas

Se você quiser contar quantas vezes uma determinada palavra aparece em um arquivo específico, você pode usar o grep com a opção -c. Ele retorna apenas o número de correspondências em vez das correspondências em si. A seguinte sintaxe pode ser usada para este propósito:

$ grep -c “string” nome do arquivo

Este é o nosso arquivo de amostra semelhante a:

A seguir está um exemplo de um comando que retornou o número de vezes que a palavra Arquivo apareceu em um arquivo chamado testfile3.

Pesquisa invertida

Às vezes, você deseja realizar uma pesquisa reversa que exibe todas as linhas, exceto as que correspondem à entrada. Para fazer isso, basta usar o sinalizador -v seguido de grep:

$ grep -v “string” nome do arquivo

Por exemplo, para exibir todas as linhas em um arquivo testfile3 que não contêm a palavra “conta” neles, usamos o seguinte comando:

$ grep -v “account” testfile3

Usando Grep com outros comandos

Grep também pode ser usado para filtrar o resultado necessário de diferentes saídas de comandos. Por exemplo, do “lista instalada do apt ” saída do comando, você deseja encontrar apenas os pacotes que foram instalados automaticamente, você pode filtrar o resultado usando grep da seguinte forma:

$ apt - lista instalada | grep automático

Da mesma forma, lscpu fornece informações detalhadas sobre a CPU. Se você está interessado apenas nas informações sobre a arquitetura da CPU, pode filtrá-las usando o seguinte comando:

$ lscpu | Arquitetura grep

Neste artigo, descrevemos alguns exemplos que o ajudarão a entender os comandos grep e seu uso em diferentes condições. Ter um controle forte sobre o comando grep pode economizar muito tempo se você precisar olhar grandes arquivos de configuração ou log e folhear informações úteis através deles.

Adicione gestos do mouse ao Windows 10 usando essas ferramentas gratuitas
Nos últimos anos, os computadores e sistemas operacionais evoluíram muito. Houve um tempo em que os usuários tinham que usar comandos para navegar pel...
Controle e gerencie o movimento do mouse entre vários monitores no Windows 10
Gerenciador de mouse com tela dupla permite que você controle e configure o movimento do mouse entre vários monitores, diminuindo seus movimentos pert...
WinMouse permite que você personalize e melhore o movimento do ponteiro do mouse no PC com Windows
Se você quiser melhorar as funções padrão do ponteiro do mouse, use um freeware WinMouse. Ele adiciona mais recursos para ajudá-lo a obter o máximo do...