Como pesquisar texto em vários ficheiros no Linux

Para os utilizadores de Linux, a necessidade de procurar palavras num ou em vários ficheiros surge com bastante frequência.

 

Existem muitas aplicações diferentes que podem fazer um bom trabalho por si. Qual aplicação será mais adequada para si depende das suas necessidades e preferências. As aplicações distinguem-se principalmente pelas seguintes características:

  • Ferramentas de linha de comandos vs. ferramentas com interface gráfica.
  • Se conseguem procurar apenas em ficheiros de texto, ou em todos os tipos de documentos mais utilizados.
  • Se utilizam indexação ou não.

 

Neste artigo, vamos apresentar-lhe diferentes tipos de aplicações de pesquisa, para que possa escolher a mais adequada para si.

 

Nota: Se é utilizador de Mac, pode consultar o nosso artigo Como pesquisar no Mac.

 

 

1. Procurar ficheiros de texto com a ferramenta grep

 

Sobre a ferramenta grep

 

A ferramenta de linha de comandos mais popular para procurar texto no Linux é o grep. Foi criada há mais de 45 anos! O seu programador é o cientista informático americano Ken Thompson.

 

O grep pode procurar em todos os tipos de ficheiros de texto (.txt, .html, .xml, etc.), mas não consegue procurar noutros tipos de documentos, como ficheiros OpenOffice, ficheiros PDF e outros.

 

Na verdade, o comando grep está no top 15 dos comandos mais utilizados no Linux, de acordo com a Hostinger.

 

Top 15 most used commands in Linux

 

O utilitário é suportado pelos sistemas operativos UNIX, Linux e Mac.

 

Existe também uma alternativa ao grep para Windows chamada findstr, sobre a qual pode ler mais no nosso artigo Como procurar ficheiros no Windows 10.

 

 

Como utilizar a ferramenta grep

 

A ferramenta grep está integrada no sistema operativo, por isso não precisa de a instalar.

 

A sintaxe mais simples para encontrar uma cadeia de caracteres num único ficheiro usando o comando grep é:
grep 'searched-word' filename

 

Por predefinição, a pesquisa com grep distingue maiúsculas de minúsculas.

 

Vamos adicionar gradualmente as opções mais úteis à nossa pesquisa.

 
1. Tornar a pesquisa insensível a maiúsculas/minúsculas com a opção "-i":
grep -i 'searched-word' filename

 
2. Procurar recursivamente em todos os ficheiros de uma determinada diretoria com a opção "-r":
grep -ir 'searched-word' '/directory'

 
3. Procurar apenas palavras completas com a opção "-w":
grep -irw 'searched-word' '/directory'

 
4. Mostrar os números das linhas em que a palavra procurada foi encontrada com a opção "-n":
grep -irwn 'searched-word' '/directory'

 
5. Sintaxe para procurar várias palavras:
grep -ir 'word1|word2|word3' '/directory'

 

Muitas outras opções úteis do grep podem ser encontradas no Manual do Grep oficial.

 

 

Vantagens e desvantagens da ferramenta grep

 
Como qualquer ferramenta de software, juntamente com a conveniência que lhe oferece, o grep tem algumas desvantagens. Vamos resumir os seus prós e contras.
 

Prós:

  • Grande flexibilidade através de uma vasta gama de opções.
  • Funciona eficazmente com expressões regulares.
  • Está integrado no sistema operativo.

 

Contras:

  • Não consegue procurar em quaisquer outros tipos de documentos além de ficheiros de texto.
  • Não tem interface gráfica.
  • Leitura difícil de linhas longas de texto nos resultados.
  • Não é tão poderoso para procurar em código-fonte, em comparação com o ack.

 
 

2. SearchMonkey

SearchMonkey é uma aplicação GUI gratuita e de código aberto para o sistema operativo Linux, que utiliza as capacidades da ferramenta grep. O SearchMonkey também está disponível para utilizadores de Windows e Mac.

 

Além de procurar em ficheiros de texto, o SearchMonkey suporta:

  • Ficheiros OpenOffice e LibreOffice (.odt).
  • Ficheiros Microsoft Office (.docx).
  • Ficheiros PDF (.pdf).

 

A ferramenta pode procurar numa diretoria de forma recursiva e devolve os nomes dos ficheiros e o conteúdo realçado que procura.

 

Siga os passos abaixo para instalar e utilizar a ferramenta:
 
1. Instale a aplicação com o seguinte comando no Terminal:
sudo apt install searchmonkey
 
2. Inicie a aplicação.
 
3. Escolha a pasta onde será feita a pesquisa.
 
SearchMonkey choose a folder to search
 
4. Marque a caixa de seleção "Containing", introduza as palavras a procurar e prima "Enter."
 
SearchMonkey check containing checkbox to prepare it for search
 
5. Clique num ficheiro da lista no painel esquerdo para ver os fragmentos de texto encontrados.
 
SearchMonkey click on a file to see the passages found

 

Se quiser procurar numa diretoria específica, clique no separador “Advanced” e escolha a pasta pretendida.

 

No painel "Advanced", pode utilizar critérios adicionais para filtrar os resultados, como o tamanho do ficheiro, a data da última modificação e outros.

 

SearchMonkey use advanced search

 

Com o SearchMonkey, também pode utilizar expressões regulares da mesma forma que na ferramenta grep.
 

Prós:

  • Completamente gratuito e de código aberto.
  • Leve e fácil de usar.
  • Não utiliza indexação.
  • Muitas opções para refinar a pesquisa.
  • Funciona com expressões regulares.

 

Contras:

  • Desempenho lento, não adequado para diretórios grandes.
  • Não suporta RTF, Excel (.xlsx, .xls), PowerPoint (.pptx, .ppt), Word antigo (.doc) e outros tipos de documentos populares.
  • Não consegue procurar uma combinação de palavras que ocorrem numa frase.
  • Não mostra todas as linhas dos resultados num único local; tem de verificar cada ficheiro um a um.

 

 

 

3. Recoll

Recoll é uma ferramenta de pesquisa no ambiente de trabalho, disponível para Linux, Windows e MacOS. A versão para Linux é gratuita. Pode procurar não só em ficheiros de texto, mas também na maioria dos formatos de documentos mais comuns, incluindo:

  • Ficheiros OpenOffice e LibreOffice (.odt).
  • Ficheiros Microsoft Office (.docx, .xlsx, .xls, .ppt).
  • Ficheiros PDF (.pdf).
  • Ficheiros AbiWord (.abw).

 

Por predefinição, o Recoll indexa os ficheiros na sua diretoria "home", o que pode demorar algum tempo.

 

Eis os passos para instalar e utilizar o programa:
 
1. Instale o Recoll com o comando:
sudo apt-get install recoll
 
2. Inicie a aplicação.
 
3. Na janela "First indexing setup", clique em "Start indexing now."
 
Recoll start indexing your files and folders
 
4. Na mensagem "Missing helper programs", clique em "OK."
 
Recoll next step for indexing
 
5. Escreva os termos de pesquisa e prima "Enter."

 

6. Na lista de resultados, clique em "snippets" para ver todos os fragmentos de texto que contêm as palavras procuradas.
 
Recoll see passages of text found

 

7. Na janela "Snippets", pode ver as páginas e as linhas em que as palavras procuradas são encontradas.
 
Recoll see the pages and the lines containing your search words

 

Se precisar de procurar numa pasta fora da sua diretoria "home", vá a "File" -> "Special indexing" e clique no botão "Browse" para selecionar a diretoria pretendida.

 

Prós

  • Gratuito para utilizadores de Linux.
  • Suporta os tipos de documentos mais comuns.
  • Interface gráfica fácil de usar.
  • Suporta opções avançadas de pesquisa.
  • Permite pré-visualizar documentos sem abrir o ficheiro.

 

Contras

  • Embora a aplicação utilize indexação, as pesquisas são relativamente lentas.
  • Não suporta o formato Word 97-2003 ".doc" nem o formato de ficheiro PowerPoint ".pptx".
  • Não consegue procurar uma combinação de palavras.
  • Tem de clicar em "snippets" de cada resultado para ver os fragmentos encontrados.

 

 

4. DocFetcher

DocFetcher é uma ferramenta de pesquisa no ambiente de trabalho gratuita e de código aberto, disponível para Linux, Windows e MacOS. Além dos formatos de ficheiros de texto, suporta quase todos os formatos de documentos que possa utilizar:

  • Ficheiros Microsoft Office 97-2003 (.doc, .xls, .ppt).
  • Ficheiros Microsoft Office 2007-365 (.docx, .xlsx, .pptx, .docm, .xlsm, .pptm).
  • Ficheiros de email do Microsoft Outlook (.pst).
  • Ficheiros OpenOffice (.odt, .ods, .odg, .odp, .ott, .ots, .otg, .otp).
  • Ficheiros PDF (.pdf).
  • Rich Text Format (.rtf).
  • Ficheiros AbiWord (.abw, .zabw).
  • E outros.

 

Eis instruções breves para utilizar o DocFetcher:
 
1. Instale o DocFetcher com o comando:
sudo snap install docfetcher

 

2. Inicie o DocFetcher
 

3. Clique com o botão direito no painel "Search Scope", no canto inferior esquerdo, e escolha "Create index from"->"Folder."
 
DocFetcher Linux create an index of files and folders

 

4. Escolha uma pasta, dê um nome ao índice e clique no botão "Run".
 
DocFetcher Linux choose a folder to search

 

5. Espere até o índice ser criado. Quando estiver pronto, verá uma marca de verificação no painel "Search Scope" à esquerda.
 
DocFetcher Linux see folders that are indexed
 
6. Escreva as palavras de pesquisa e prima "Enter."

 

DocFetcher Linux type words to search for
 
7. Clique no nome de um ficheiro para ver os fragmentos de texto que contêm as palavras procuradas. Pode navegar pelos resultados com as setas "up" e "down".
 
DocFetcher Linux see passages found

 

Prós

  • Aplicação gratuita e de código aberto.
  • Tem uma versão portátil.
  • Pode procurar em formatos de arquivo (.zip, .7z, .rar, .tar).
  • Oferece opções adicionais de pesquisa – carateres universais, palavras semelhantes, pesquisa por proximidade e outras.

 

Contras

  • Criar um índice pode demorar muito tempo para pastas grandes.
  • Não consegue realizar pesquisa insensível a maiúsculas/minúsculas.
  • A navegação nos resultados de texto não é intuitiva.
  • Não consegue procurar uma combinação de palavras numa frase.

 

 

5. Regexxer

 

A aplicação regexxer oferece vastas possibilidades para utilizar expressões regulares ao estilo perl. É uma aplicação gratuita e de código aberto com uma interface gráfica fácil de usar, criada em 2002.

 

O Regexxer está disponível apenas para Linux, e pode instalá-lo mais facilmente no Debian e no Ubuntu.

 

Eis como pode utilizar o Regexxer:
 

1. Instale a aplicação com o comando:
sudo apt-get install regexxer
 
2. Inicie a aplicação, selecione uma pasta de pesquisa e certifique-se de que a caixa de seleção "recursive" está selecionada.
 

3. Clique no botão "Find files".
 
Regexxer start your search

 

4. Escreva os termos de pesquisa na caixa "Search" e clique no botão "Find".
 
Regexxer type your search words
 
5. Utilize as setas na parte inferior para navegar nos resultados.
 
Regexxer navigate the results found
 
6. No painel esquerdo pode ver o número de resultados encontrados nos ficheiros correspondentes e, no painel direito, o texto que contém as palavras procuradas.

 

Prós:

  • Completamente gratuito e de código aberto.
  • Fácil de instalar e utilizar.
  • Interface gráfica simples e intuitiva.
  • Suporta todos os tipos de expressões regulares ao estilo perl.
  • Realça as palavras procuradas nos resultados.
  • Não utiliza indexação.

 

Contras:

  • O Regexxer é mais lento do que outras aplicações semelhantes.
  • Por vezes deixa de responder ou fecha inesperadamente.
  • Não consegue procurar em quaisquer outros tipos de documentos além de ficheiros de texto.
  • Não consegue procurar uma combinação de palavras que ocorrem numa frase.

 

 

Conclusão

Espero que tenha gostado deste guia sobre como encontrar ficheiros de texto no Linux.

 

Tenho plena consciência de que podem ser acrescentadas muitas mais informações sobre as aplicações apresentadas, e também de que existem muitas outras ferramentas úteis neste nicho.

 

Agora gostava de ouvir a sua opinião: qual das aplicações apresentadas é mais útil para si? Tem algum problema ao utilizar estas ferramentas? Quer acrescentar algo mais que seja importante sobre este tema?

 

Diga-me o que pensa, publicando um comentário na secção de comentários abaixo.

Sobre o autor
Dimitar Stamenov é um programador e empreendedor com mais de 25 anos no mundo da tecnologia. Criou ferramentas como SeekFast (uma das aplicações de pesquisa para desktop mais populares), Preslav ERP (um sistema de gestão empresarial), e SEORanks (um site de referência para ferramentas de SEO). Também lecionou em academias de tecnologia de referência, incluindo Telerik Academy e Software University Sofia. No blog do SeekFast, Dimitar partilha dicas, ideias e soluções práticas para ajudar os leitores a tirar o máximo partido do seu software e a realizar tarefas mais rapidamente.

Deixar um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *