De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Rubens Queiroz de Almeida
Data de Publicação: 20 de abril de 2025
Geralmente, quando precisamos localizar um arquivo em nossos sistemas, usamos
os comandos locate
ou find
seguidos das opções que identificam
o que buscamos. Para paginar os resultados, usamos os comandos more
ou então less
.
O problema com os comandos more
e less
é que são bastante limitados,
possuem poucos recursos para navegar pelos resultados.
Para realizar buscar mais complexas sobre um grande volume de informações,
com um grande nível de interatividade, temos o comando fzf
(Fuzzy Finder). O comando fzf
é uma ferramenta interativa extremamente
poderosa para a linha de comando no Linux e outros sistemas Unix-like. Seu
objetivo principal não é paginar arquivos, mas sim facilitar e acelerar
buscas e seleções em grandes listas de itens, utilizando um mecanismo de
busca "fuzzy" (aproximação ou similaridade de padrões).
Diferente da busca tradicional, o fzf
permite encontrar rapidamente
itens mesmo que você não digite o termo exato. Ele faz isso utilizando
uma busca baseada em aproximação (fuzzy), onde basta digitar partes ou
fragmentos das palavras esperadas, e os resultados mais próximos aparecerão
instantaneamente. Enquanto paginadores te ajudam a ler, o fzf
te ajuda a
encontrar e escolher de forma ágil.
Por exemplo, se você buscar "docu" em uma lista contendo "document", "documentation", "doc", todos esses poderão aparecer como resultados relevantes, mesmo que estejam incompletos ou haja erros de digitação.
Outro grande diferencial do fzf
é a capacidade de selecionar itens de uma
lista. Ao receber uma lista (de arquivos, nomes, comandos, processos, etc.),
você pode navegar pelas opções usando as setas do teclado e confirmar a
seleção pressionando <Enter>
. O item selecionado pode ser usado como saída em
outros comandos, o que potencializa scripts e fluxos automáticos no terminal.
Enquanto paginadores (como more
e less
) se concentram na exibição
paginada de conteúdos grandes (arquivos, logs, etc.), o fzf
é dedicado à
busca, filtro, seleção e automação em listas.
O fzf
atualiza os resultados em tempo real à medida em que digita, tornando-o
extremamente rápido e interativo.
Outro recurso muito interessante é a visualização do conteúdo dos arquivos constantes da listagem obtida:
$ find . -type f -name \*.t2t | fzf --preview 'less {}'
No comando acima estou buscando por arquivos com o sufixo .t2t
(txt2tags)
e usando o comando fzf
para gerar a listagem e exibir seu conteúdo
(--preview
) com o comando less
, como exemplificado na figura abaixo,
em que temos à esquerda a listagem gerada pelo comando fzf
e à direita a
visualização do arquivo selecionado:
São muitas as possibildades, e certamente este comando contribuirá em muito para o aumento de sua produtividade.
O comando fzf
, por padrão, não vem instalado em sistemas Debian
GNU/Linux. Para instalar em sistemas Debian e derivados, digite:
$ sudo apt install fzf
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários