Software para pesquisa de texto em arquivos

Respostas:

19

Há um muito bom que vem com o Ubuntu pronto para uso.

  1. Abra o Dash ( Supertecla ou botão Ubuntu) e comece a digitar até encontrarSearch for Files

    insira a descrição da imagem aqui

  2. O texto acima é para o Unity, o ambiente de área de trabalho padrão no Ubuntu. Em ambientes orientados a menus, vá para Applications-> Accessories->Search for Files

    insira a descrição da imagem aqui

  3. Expanda a Select more optionsseção e insira o texto a ser pesquisado no Contains the text:campo de entrada.

    insira a descrição da imagem aqui

Recursos:

  • GUI 100%
  • Você pode procurar por nomes de arquivos ou conteúdo
  • Ele aparece em subpastas.

Dado o seu cenário (sem comandos de terminal, interface simples de usar), acho que não há melhor opção.

PS: no Contains the text:campo de entrada, o '.' caractere é um curinga. Para escapar, você precisa usar '[]'. Por exemplo: digite Contains the text: [.]myFunctionpara procurar .myFunction

MestreLion
fonte
sim, eu não vi que eu poderia adicionar detalhes
Santosh Linkha
1
sim, você pode ... basta clicar em "selecionar mais opções" e você pode ter não apenas "Contém o texto", mas também várias outras opções de pesquisa (data, usuário, dimensionador de arquivo e até expressões regulares). Eu também perdi esta pequena besta por um longo tempo ... Eu queria que fosse integrado no Nautilus (um bocado como F3 no Windows Explorer)
MestreLion
este é o mesmo que eu aconselhou anteriormentegnome-search-tool
Mikl
@ Octavian: Obrigado por fornecer as capturas de tela!
MestreLion 9/03/11
@ Mikl: é o mesmo resultado, a diferença está na abordagem de como invocá-lo: sua solução inicial foi focada na chamada de linha de comando (ou ALT + F2) e apenas mencionou brevemente que também pode ser encontrada no menu. Não disse onde ou qual era o nome do programa no menu. Somente depois de postar minha resposta, você editou a sua para fornecer o caminho e o nome do menu. Para os novatos, uma abordagem orientada a menus é sempre melhor que a chamada de CLI. ALT + F2 deve ser usado apenas quando o software não estiver disponível no menu.
MestreLion 9/03/11
11

usar

 grep -nr <your text> .

coloque o texto que você deseja encontrar dentro do <seu texto>

wizztjh
fonte
ele se parece em sub-pastas
Santosh Linkha
experimentx@workmateX:/var/www/testingzedn$ grep -nr application.iniestá tomando para sempre ... eu sou incorreta
Santosh Linkha
preciso do ponto. , Ele vai olhar para a pasta com o -r
wizztjh
grep -nr application.ini.
wizztjh
9

você pode usar

find . -name '*.*' -exec grep -Hn 'text to find' '{}' \;

-name '*. *' ou '* .txt' (use a máscara de arquivo aqui)
'text to find' (coloque o texto que você deseja encontrar aqui)

find . -type f -exec grep -Hn 'text to find' '{}' \;

se você deseja pesquisar todos os arquivos

Mikl
fonte
Para todos os arquivos, não use -name '*.*'como arquivos nem sempre têm uma extensão. Use em -type fvez disso (para pesquisar em todos os arquivos). Substitua {}por "{}", caso contrário, os nomes de arquivos com espaços em branco não serão pesquisados ​​corretamente.
Lekensteyn
@Lekensteyn eu editei meu post. mas fiz alguns testes com arquivos com espaços em branco nos nomes e nenhum erro ao usar {} sem aspas.
8111 Mikl
apenas testei e você está certo, espaço em branco não é um problema. Em alguns shells, as aspas ainda podem ser necessárias para impedir a expansão do shell. From man find: "Ambas as construções podem precisar ser escapadas (com um \ ') ou citadas para protegê-las da expansão pelo shell."
precisa saber é o seguinte
9

Ferramenta GUI (gráfica):

gnome-search-tool

você pode encontrá-lo no menu principal do Ubuntu

Menu -> Accessories -> Search for Files

ou execute-o usando a tecla de atalho ALT + F2

Mikl
fonte
1
Apenas uma atualização para versões mais recentes do Ubuntu: na interface do Unity (Ubuntu 12 ou superior), clique em Dash Home (o primeiro ícone na barra de ferramentas), digite "search" e selecione o aplicativo "Search Files".
josircg
9

Sou fã do searchmonkey (GPL, gratuito, multiplataforma, bastante leve em recursos e muito rápido).

insira a descrição da imagem aqui

Vai.
fonte
Parece bom. Vou tentar em outras plataformas, já que a resposta mais votada se encaixa na minha conta no Ubuntu.
Amol Gawai
Parece que não funciona em sistemas operacionais de 64 bits (eu enfrentei o problema no win 7 de 64 bits). Isso é um problema para mim, pois uso sistemas operacionais de 64 bits em todos os lugares. Parecia promissor embora.
Amol Gawai
@AmolGawai funcionando perfeitamente no ubuntu 64bit aqui ...
Aquarius Power
4

O Regexxer permite pesquisar texto em arquivos. Não sabe ao certo o que você quer dizer com "em pastas".

insira a descrição do link aqui

uvasal
fonte
3

Pesquisa gráfica:

no Kubuntu, abra o Dolphin e, em seguida, Editar-> Localizar (Ctrl + F)

mude de nome de arquivo para Conteúdo e ajuste de onde procurar.

Osis
fonte
2

Recoll faz indexação e você pode fazer pesquisas de texto completo de documentos e email.

Dustin
fonte
Olhar para 50.000 pastas é uma dor: D se você não indexar os dados, por isso, se não puder comprar um disco SSD, instale qualquer ferramenta de indexação antes de perder tempo procurando arquivos. Faça o trabalho uma vez. Mesmo que não seja uma resposta para a pergunta atual, é um bom ponto de vista.
M3nda
1

Comparei três das sugestões aqui com o Kubuntu de 64 bits e 16.04:

  1. O Searchmonkey trabalha com o Ubuntu de 64 bits atualmente. É semelhante ao regexxer. Pareceu rápido, mas naturalmente é muito mais lento que a pesquisa baseada em índice.
  2. Procure por arquivos e o Alt-F2 não funciona com a versão Ubuntu do KDE.
  3. Minha recomendação é Recoll e eu adicionei algumas instruções de instalação. Para mim, a instalação padrão é compatível com PDF (teste isso!), DOCX, TAR, ZIP etc.

    sudo add-apt-repository "deb http://archive.canonical.com/ $(lsb_release -sc) partner"
    sudo apt-get install recoll antiword
    recoll
    
  4. A primeira linha provavelmente não é necessária: ele adiciona o repositório de instalação do parceiro.

  5. Antiword é opcional. É necessário oferecer suporte a arquivos .doc mais antigos.
  6. Ative os links simbólicos a seguir e o diretório raiz em Preferências de gravação, se necessário.
  7. Crie uma tarefa cron para indexação Recoll usando a GUI ou faça com que ela inicie em cada login.
  8. Altere a configuração Recollar nas preferências de Inglês para Todos os idiomas, se apropriado.
  9. Comece a indexação, pelo menos para mim foi surpreendentemente rápido e não utilizou todos os recursos, por isso pude continuar usando o laptop.
  10. Encontrei um bug do Recoll até agora: se você procurar pelo nome do arquivo com "PST", ele não o encontrará, mesmo que esteja em maiúsculas. "pst" funciona e encontra nomes em maiúsculas e minúsculas.
  11. Veja mais sobre a lembrança em https://www.lesbonscomptes.com/recoll/features.html

Se você deseja adicionar suporte para arquivos PST do Outlook, também precisa executar o seguinte.

    sudo apt-get install readpst
    mkdir ~/PST
    find -L ~ -name "*.pst" -print | awk "{ printf \"%s%s %s%s%s %s\\n\", \"mkdir ~/PST/\", \$1, \"; readpst -o ~/PST/\", \$1, \" -D -j 4 -r -tea -u -w\", \$1 }" > /tmp/myPstFiles
    cat /tmp/myPstFiles
    chmod 755 /tmp/myPstFiles
    /tmp/myPstFiles
  1. Mude o diretório raiz de ~ para / se necessário no comando find.
  2. Meu script find tem um bug: ele cria uma estrutura de diretório muito longa agora. Mas foi mais fácil para mim modificar o arquivo temporário manualmente do que encontrar uma correção para isso. O principal objetivo era que isso funcione para vários arquivos PST e faça isso.
  3. Veja mais sobre o Readpst em http://www.five-ten-sg.com/libpst/rn01re01.html e https://blog.robseder.com/2015/08/29/working-with-a-pst-file -in-linux /
Timo Riikonen
fonte
0

Eu realmente quero introduzir uma ferramenta baseada na biblioteca ncurses para fornecer a interface do usuário baseada em texto. A ferramenta chamada NCGREP (grep baseada em ncurses) é principalmente para procurar texto na pasta específica. Espero que seja isso que você deseja. Esta fonte da ferramenta foi hospedada no github.com, veja mais em https://github.com/ncgrep/ncgrep

insira a descrição da imagem aqui
Clique na imagem para ver a animação demo

GenialX
fonte