5 ferramentas Grep para Linux
Como todo usuário Linux certamente sabe, grep é uma ferramenta de linha de comando confiável para pesquisa detalhada de arquivos. Mesmo assim, muitos iniciantes o evitam porque não gostam do terminal. Os aplicativos apresentados neste artigo não são exatamente alternativas ao grep porque em alguns cenários de uso o grep é verdadeiramente insubstituível. Em vez disso, vamos chamá-los de atualizações visuais para o grep porque elas estendem a funcionalidade do grep e o envolvem em uma interface gráfica completa.
1. Regexxer
Regexxer é uma ferramenta prática de busca de arquivos que permite editar arquivos diretamente de sua interface. Você pode pesquisar arquivos e pastas por nome e examinar arquivos baseados em texto (incluindo arquivos HTML e XML). O lado esquerdo da janela permite selecionar a pasta e o padrão de destino (coloque * para todos os arquivos ou *.txt apenas para arquivos de texto). Regexxer pode realizar pesquisas recursivas em subpastas de qualquer pasta selecionada e incluir arquivos ocultos nos resultados.
O lado direito da janela permite realizar “pesquisar e substituir” em um arquivo selecionado. Aqui você pode substituir apenas uma instância de uma frase encontrada ou todas elas automaticamente. Você também pode substituir a frase selecionada em todos os arquivos encontrados, o que é útil para edição em lote.
2. Macaco de pesquisa
Antigamente o Searchmonkey era muito popular. Em algum momento, o desenvolvimento da versão Linux cessou e agora o site oferece novos downloads apenas para Windows. Ainda assim, a versão antiga pode ser instalada a partir dos repositórios de quase todas as distribuições Linux. Talvez surpreendentemente, funciona muito bem e é muito rápido. Você pode usar o Searchmonkey para localizar arquivos e pastas por nome ou para examinar seu conteúdo e pesquisar frases usando expressões regulares.
Searchmonkey ajuda você a construir consultas complexas com o File Expression Wizard (ativado clicando no botão Expression Builder) e uma opção chamada Test Regular Expression (no menu Extras). Ele pode pesquisar arquivos recursivamente e você pode definir a profundidade da pesquisa (quantas subpastas ele deve procurar) e filtrar os arquivos por tamanho e data. Na aba “Opções”, você pode limitar o número de arquivos nos resultados e escolher quantas linhas de contexto deseja ver.
3. DocFetcher
Em vez de pesquisar diretamente em seu sistema de arquivos, o DocFetcher solicitará que você crie um índice e depois procure suas consultas apenas em arquivos indexados. Ele oferece uma versão portátil (basta descompactar e executar o arquivo .sh no terminal) para sistemas de 32 e 64 bits. Para construir um índice, clique com o botão direito na área “Escopo da pesquisa” à esquerda.
Você pode adicionar pastas ao índice, pausar a criação do índice e continuá-la mais tarde, indexar arquivos compactados (ZIP, TAR) como pastas e excluir arquivos selecionados do índice com a ajuda de expressões regulares.
DocFetcher possui um renderizador HTML integrado que permite visualizar arquivos HTML completos com formatação e imagens. Ele oferece uma opção preocupada com a privacidade para remover o histórico de pesquisa e permite pesquisar dentro de arquivos usando curingas, operadores booleanos, pesquisa difusa (encontra palavras semelhantes), pesquisa por proximidade (a que distância as palavras devem estar umas das outras no texto) e mais. DocFetcher suporta um número impressionante de formatos, incluindo arquivos Microsoft e Libre Office (DOC, DOCX, ODT, OTP ...), PDF e EPUB, HTML e XML, arquivos de e-mail PST do Outlook e metadados de áudio e imagem.
4. Recuperar
Regain é um mecanismo de busca para seu desktop; algo como o Google, mas para seus arquivos e pastas. Está escrito em Java, por isso funciona em Linux, OS X e Windows, desde que você tenha o Java devidamente instalado e configurado. O arquivo de instalação está disponível no site do projeto, e você pode simplesmente extraí-lo para uma pasta, abrir essa pasta no terminal e executar java -jar recupera.jar
para iniciar a aplicação. (O arquivo "regain.jar" deve ser executável). O Regain será executado em seu navegador padrão.
Para pesquisar seus arquivos e pastas, o Regain deve primeiro rastrear seu sistema e criar um índice de pesquisa. No formulário "Preferências", você adiciona as pastas que deseja indexar. Se você não quiser incluir arquivos específicos no índice, coloque-os na lista negra no arquivo "CrawlerConfiguration.xml". Assim que você começar a usar o Regain, ele pesquisará o índice em vez de verificar todo o disco rígido. Isso economiza recursos do sistema e torna a pesquisa mais rápida.
5. PDFgrep
De todas as ferramentas desta lista, o PDFgrep é o mais semelhante ao grep original, mas também é "o estranho", porque é uma ferramenta de linha de comando. Várias distribuições oferecem o PDFgrep em seus repositórios, mas a versão mais recente (atualmente 1.3.2) precisa ser compilada.
Enquanto grep exibe o número da linha em que a string de pesquisa aparece, o PDFgrep mostrará o número da página, o que é mais útil para arquivos PDF, pois tendemos a lê-los como livros, e não a analisá-los linha por linha. PDFgrep funciona apenas em arquivos PDF. Eles precisam ser convertidos de texto ou editados por OCR, não apenas de imagens digitalizadas.
Para pesquisar uma palavra em um arquivo PDF, digite:
pdfgrep word filename.pdf
Para ignorar o caso, use a opção -i
:
pdfgrep -i word filename.pdf
Isto encontrará "Word", "Word", "WORD" e outras combinações possíveis. Se você estiver procurando uma frase, coloque-a entre aspas. Algumas opções úteis são:
-n
: exibe o número da página para cada correspondência-c
: imprime apenas o número de correspondências em um arquivo-p
mostra o número de correspondências por página-C NUMBER
: imprime o número selecionado de caracteres em torno de cada correspondência para contexto. Em vez de um número, você pode escrever “linha” e o PDFgrep imprimirá a linha inteira.
PDFgrep pode pesquisar recursivamente em todas as subpastas de uma pasta ativa e examinar vários arquivos PDF. Ele também oferece suporte a expressões regulares e as opções podem ser combinadas:
pdfgrep -nH "Linux world" file1.pdf file2.pdf /home/user/Desktop/newfile.pdf
Isso imprimiria o número da página e o nome do arquivo para cada correspondência (por causa da opção -H
).
Quais ferramentas e comandos do Linux você usa para localizar arquivos? Compartilhe seus favoritos nos comentários abaixo.