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.

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 'searched-word' filename
2. Procurar recursivamente em todos os ficheiros de uma determinada diretoria com a opção "-r":
grep 'searched-word' '/directory'
3. Procurar apenas palavras completas com a opção "-w":
grep 'searched-word' '/directory'
4. Mostrar os números das linhas em que a palavra procurada foi encontrada com a opção "-n":
grep 'searched-word' '/directory'
5. Sintaxe para procurar várias palavras:
grep '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.

4. Marque a caixa de seleção "Containing", introduza as palavras a procurar e prima "Enter."

5. Clique num ficheiro da lista no painel esquerdo para ver os fragmentos de texto encontrados.

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.

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."

4. Na mensagem "Missing helper programs", clique em "OK."

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.

7. Na janela "Snippets", pode ver as páginas e as linhas em que as palavras procuradas são encontradas.

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."

4. Escolha uma pasta, dê um nome ao índice e clique no botão "Run".

5. Espere até o índice ser criado. Quando estiver pronto, verá uma marca de verificação no painel "Search Scope" à esquerda.

6. Escreva as palavras de pesquisa e prima "Enter."

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".

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".

4. Escreva os termos de pesquisa na caixa "Search" e clique no botão "Find".

5. Utilize as setas na parte inferior para navegar nos resultados.

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.

