Guia do iniciante

Como encontrar string em um arquivo no Linux

Como encontrar string em um arquivo no Linux

Às vezes, você pode precisar pesquisar uma palavra específica ou uma string dentro de um arquivo. Para fazer isso, quase todo editor de texto tem alguma implementação de GUI para ajudá-lo. Mas, para usuários do Linux, é muito mais produtivo e conveniente fazer essas pesquisas na linha de comando.

Na verdade, o Linux tem um utilitário de linha de comando poderoso e conveniente - o comando grep para esta finalidade. Usando isso, você pode pesquisar uma string específica não apenas em um arquivo, mas em vários arquivos para uma pesquisa mais abrangente.

No entanto, antes de usar o comando grep, você primeiro precisa saber como ele funciona e suas sintaxes. E então, para ajudá-lo, reunimos um guia detalhado sobre o uso do comando grep para ajudá-lo a encontrar strings em um arquivo no Linux. Não apenas isso, mas também mostraremos como pesquisar strings em arquivos por meio do editor de texto de linha de comando e do editor de texto GUI.

Observação: Para este tutorial, criamos dois arquivos de texto de demonstração - demofile.txt e demofile02.TXT. Estaremos usando o comando grep para encontrar strings nestes arquivos. Aqui está uma olhada no conteúdo de ambos os arquivos para que você saiba como os comandos estão funcionando.

Conteúdo do demofile.TXT:

Este é um arquivo de demonstração que criei para fins de demonstração. Este contém um monte de palavras para criar frases que finalmente terminam com um ponto. Isto é para o exemplo grep.

Conteúdo de demofile02.TXT:

Este é outro arquivo de demonstração que usarei para esta demonstração. Este é semelhante ao último porque contém três linhas com algumas palavras. Este segundo arquivo ajudará a fornecer alguns exemplos diversificados.

Encontrar strings em um arquivo por meio da linha de comando (método GREP)

GREP é a abreviação de Global Regular Expression Print. É “global” porque pode pesquisar todo o seu sistema Linux. “Expressão regular” é o que chamamos de padrão de pesquisa de texto que usaremos com o comando. E “Imprimir” significa que imprimirá os resultados da pesquisa assim que encontrar uma correspondência com base na expressão regular fornecida.

Agora que você tem uma ideia do que é o comando grep, vamos ver como podemos usá-lo. Esta é a sintaxe para usar o comando grep para localizar uma string em um arquivo:

$ grep fragmento nome do arquivo

Terá de substituir a expressão “string” pela “expressão regular” que deseja usar e o “nome do ficheiro” pelo nome do ficheiro no qual deseja procurar a string.

# 1. Usando GREP para encontrar uma string em um arquivo

Então, digamos que se você deseja pesquisar a palavra “demonstração” no arquivo “demofile.txt, ”você precisará usar este comando:

Demofile de demonstração $ grep.TXT

O que dá a saída:

Usando GREP para encontrar uma string em um arquivo

Como você pode ver, o comando busca toda a linha que contém a string fornecida. Se a string especificada ocorrer em várias linhas, ele irá imprimir todas elas. Vamos ver se funciona procurando a string “This” no “demofile.txt ”arquivo.

$ grep Este demofile.TXT

E o resultado é:

grep diferencia maiúsculas de minúsculas

Observe como você usou a string "this" primeiro, e ela não imprimiu nada. É apenas quando você insere "Isto" que você obtém uma correspondência. Como tal, você deve se lembrar que o comando grep diferencia maiúsculas de minúsculas.

Para ignorar o caso, você precisará inserir este comando:

$ grep -i este demofile.TXT

Como ignorar maiúsculas e minúsculas no comando grep

Como você pode ver agora, embora a string fornecida seja “this”, o comando corresponde a “This” e imprime aquela resposta.

# 2. Usando GREP para encontrar a mesma string em vários arquivos

Para pesquisar em vários arquivos a string fornecida, tudo o que você precisa fazer é anexar o comando com todos os nomes de arquivo.

Aqui está um exemplo. Aqui estamos procurando a string “palavras” nos arquivos “demofile.txt ”e“ demofile02.TXT":

$ grep words demofile.txt demofile02.TXT

E o resultado é:

Usando GREP para encontrar a mesma string em vários arquivos

Como você pode ver, o comando grep não só mostrará o resultado correspondente, mas também rotulará convenientemente de qual arquivo ele é.

# 3. Usando GREP para encontrar várias strings em vários arquivos

Você também pode usar o grep para encontrar várias strings em um ou vários arquivos. Esta é a sintaxe que você deverá usar:

$ grep -E 'pattern1 | pattern2 | pattern3 |…' nomedoarquivo1 nomedoarquivo2 nomedoarquivo3… 

A opção -E que inserimos trata o seguinte padrão como uma expressão regular estendida, o que nos permite pesquisar por várias strings.

Agora vamos usar o que aprendemos para pesquisar as strings “arquivo” e “palavras” nos dois arquivos: “demofile.txt ”e“ demofile02.TXT":

$ grep -E 'arquivo | palavra' demofile.txt demofile02.TXT

E o resultado é:

Usando GREP para encontrar várias strings em vários arquivos

# 4. Dicas e truques para usar o comando GREP para encontrar strings

Apesar de sua simplicidade geral, o comando grep é extremamente poderoso. Aqui estão algumas maneiras de usar o comando grep para pesquisas avançadas de string.

Por exemplo, você sabia que pode usar o comando grep com curingas? Vamos considerar este comando:

$ grep word demofile *

O que dá a saída:

grep e curingas

Como você pode ver, o comando pesquisou e agora mostra os resultados de ambos os arquivos “demofile.txt ”e“ demofile02.TXT". Isso ocorre porque usamos o caractere curinga asterisco (*) para representar uma ou várias ocorrências de qualquer caractere.

Para obter mais informações sobre os diferentes tipos de curingas e como usá-los, você pode verificar isto leia: Wildcards no Linux explicados com 10 exemplos.

Continuando, o comando grep também suporta toneladas de opções de comando. Já vimos dois deles até agora:

Existem muitas outras opções de comando grep, como:

Tudo o que discutimos até agora deve ser suficiente para ajudá-lo a pesquisar strings em arquivos. No entanto, se você deseja dominar o comando GREP, recomendamos que você confira estes dois artigos:

Encontre strings em um arquivo por meio da linha de comando (usando editores de texto de linha de comando)

O comando grep é uma ferramenta poderosa que pode ajudá-lo a realizar pesquisas avançadas para combinar strings com vários arquivos e diretórios em seu PC Linux. No entanto, se você já tiver o arquivo aberto em um editor de texto de linha de comando, não há necessidade de sair do editor de arquivo e usar o comando grep.

Na verdade, a maioria dos editores de texto de linha de comando já vem com uma funcionalidade de pesquisa integrada.

Agora, está além do escopo deste tutorial cobrir cada editor de texto de linha de comando e como encontrar strings em um arquivo aberto nesse editor de texto. Como tal, veremos os dois editores de texto de linha de comando mais populares que você usará:

Como encontrar uma string de texto no nano?

Digamos que você tenha o arquivo aberto no editor de texto nano. Nesse caso, tudo o que você precisa fazer é pressionar Ctrl + W, e você encontrará um novo prompt para digitar a string.

Uma vez feito isso, pressione Enter, e o cursor irá parar no primeiro caractere da primeira ocorrência da string pesquisada. Você pode continuar pressionando Enter para pular para as outras instâncias de string, se houver.

Como encontrar uma string de texto no nano

Como encontrar uma string de texto no vim?

Se você estiver usando o editor de texto vim, você pode digitar: / seguido pela string que deseja pesquisar e, em seguida, pressione Enter. Semelhante a antes, ele pousará o cursor na primeira ocorrência da string pesquisada. Aqui também, você pode continuar pressionando Enter para pular para as outras instâncias da string.

Como encontrar uma string de texto no vim

Encontre strings em um arquivo por meio da linha de comando (método GUI)

Existe até um método GUI para encontrar strings em um arquivo. Em essência, é semelhante à função “localizar e substituir” que você vê no Microsoft Word; no entanto, isso irá variar de acordo com o editor de texto GUI que você está usando.

Agora, como você sabe, existem centenas de editores de texto e não é prático cobrir todos eles aqui. No entanto, todos eles funcionam de forma semelhante, então você não terá nenhum problema em trabalhar com outras pessoas, uma vez que saiba como um deles funciona.

Para este tutorial, usaremos o editor de texto padrão que vem com o Ubuntu, chamado - “Editor de Texto.”

Como encontrar string usando editores de texto GUI

Como você pode ver na imagem, abrimos o demofile.txt no editor. Agora, clicamos no menu suspenso, que revela as opções para "Localizar" e "Localizar e substituir", que podemos usar para localizar quaisquer strings no arquivo aberto.

Empacotando

Isso nos leva ao final deste breve tutorial sobre como encontrar strings em um arquivo no Linux. Esperamos que você ache isso útil e que tenha ajudado a se tornar mais produtivo com a forma como você pesquisa por strings específicas em seu sistema Linux.

Se você tiver alguma dúvida, deixe-nos um comentário e teremos certeza de ajudá-lo com suas dúvidas.

Se você está começando com Linux, não se esqueça de verificar nossa série Aprenda Linux. Ele está repleto de tutoriais, instruções e guias incríveis, projetados para iniciantes e usuários mais experientes para ajudá-lo a se tornar um verdadeiro usuário avançado do Linux.

Instale o emulador Dolphin mais recente para Gamecube e Wii no Linux
O Dolphin Emulator permite que você jogue seus jogos de Gamecube e Wii escolhidos em computadores pessoais Linux (PC). Sendo um emulador de jogo disp...
Como usar o GameConqueror Cheat Engine no Linux
O artigo cobre um guia sobre como usar o mecanismo de cheat GameConqueror no Linux. Muitos usuários que jogam no Windows costumam usar o aplicativo “C...
Melhores emuladores de console de jogo para Linux
Este artigo irá listar software de emulação de console de jogo popular disponível para Linux. A emulação é uma camada de compatibilidade de software q...