A utilização da pesquisa de ficheiros por conteúdo no Linux pode reduzir significativamente o tempo e o esforço na procura de informações específicas em sistemas de ficheiros grandes e complexos.
Esta pesquisa pode ser particularmente útil quando se pretende encontrar ficheiros que contenham uma determinada cadeia de caracteres ou palavra-chave, ou quando se pretende encontrar todos os ficheiros que correspondam a um determinado padrão ou critério.
A pesquisa de ficheiros por conteúdo pode ser utilizada para várias tarefas, tais como encontrar
O objetivo geral da pesquisa de ficheiros por conteúdo é facilitar o trabalho com o sistema de ficheiros e encontrar as informações necessárias no sistema de ficheiros.
Vamos começar com o utilitário ack. Foi criado em 2005 como uma alternativa ao grep e rapidamente se tornou popular entre os programadores.
Ele tem várias vantagens sobre o grep
, incluindo:
o grep
. Isto significa que pode facilmente encontrar ficheiros escondidos no seu sistema.Exemplos de como usar o ack:
- Encontrar todos os ficheiros na pasta atual e nas suas subpastas que contenham a palavra
"teste": ack "teste"
- A mesma coisa, mas excluindo ficheiros com extensão
.bak: ack "teste" --ignore-file=match:/.bak$/
- Encontrar todos os ficheiros na pasta atual que contenham a string "hello" e produzir as primeiras 2 linhas de cada ficheiro:
ack "hello" --heading --max-count=2
A segunda ferramenta interessante é o ripgrep. É semelhante ao ack em muitos aspectos, mas usa um algoritmo de pesquisa mais rápido, o que o torna especialmente útil para grandes projectos.
Aqui estão alguns exemplos:
"teste": rg "teste"
.bak: rg "teste" --glob "!*.bak"
rg "hello" --heading --max-columns=2
No final, vale a pena mencionar o fzf. Não é apenas um localizador de strings como o ack e o ripgrep. O fzf é usado como um utilitário para encontrar ficheiros, pastas e itens numa lista. Caso contrário, funciona de forma semelhante ao ack/ripgrep, mas com a capacidade adicional de filtrar os resultados em tempo real. Aqui estão alguns exemplos:
- Procurar por ficheiros que comecem com a letra F no seu computador:
locate F | fzf -m
- Sair da pasta atual e ir para a diretoria que pretendo:
cd **<TAB> | fzf
- Selecionar a revisão SVN e copiar o número para a área de transferência:
svn log | fzf --reverse --ansi | awk '{print $1}' | pbcopy
Esperamos que estas ferramentas o ajudem a encontrar os ficheiros e strings de que necessita de forma rápida e eficiente. Qualquer que seja a sua escolha, todas elas oferecem pesquisas avançadas que podem acelerar consideravelmente o seu trabalho.