{"id":4290,"date":"2026-01-12T13:47:54","date_gmt":"2026-01-12T10:47:54","guid":{"rendered":"https:\/\/demensdeum.com\/blog\/2026\/01\/12\/gofis\/"},"modified":"2026-01-12T15:04:15","modified_gmt":"2026-01-12T12:04:15","slug":"gofis","status":"publish","type":"post","link":"https:\/\/demensdeum.com\/blog\/pt\/2026\/01\/12\/gofis\/","title":{"rendered":"Gofis"},"content":{"rendered":"<p>Gofis \u00e9 uma ferramenta leve de linha de comando para pesquisar arquivos rapidamente no sistema de arquivos.<br \/>\nEst\u00e1 escrito em Go e faz uso intenso de paralelismo (goroutines), o que o torna especialmente eficiente<br \/>\nao trabalhar com grandes diret\u00f3rios e projetos.<\/p>\n<p>O projeto est\u00e1 dispon\u00edvel no GitHub:<br \/>\n<a href=\"https:\/\/github.com\/demensdeum\/gofis\" rel=\"noopener\" target=\"_blank\">https:\/\/github.com\/demensdeum\/gofis<\/a><\/p>\n<h2>&#x1f9e0; O que s\u00e3o Gofis<\/h2>\n<p>Gofis \u00e9 um utilit\u00e1rio CLI para pesquisar arquivos por nome, extens\u00e3o ou express\u00e3o regular.<br \/>\nAo contr\u00e1rio de ferramentas cl\u00e1ssicas como find, o gofis foi originalmente projetado<br \/>\ncom \u00eanfase em velocidade, sa\u00edda leg\u00edvel e processamento de diret\u00f3rio paralelo.<\/p>\n<p>O projeto \u00e9 distribu\u00eddo sob licen\u00e7a do MIT e pode ser usado gratuitamente<br \/>\npara fins pessoais e comerciais.<\/p>\n<h2>&#x2699;&#xfe0f; Principais recursos<\/h2>\n<ul>\n<li>Travessia de diret\u00f3rio paralelo usando goroutines<\/li>\n<li>Pesquise por nome de arquivo e express\u00f5es regulares<\/li>\n<li>Filtrar por extens\u00f5es<\/li>\n<li>Ignorando diret\u00f3rios pesados \u200b\u200b(.git, node_modules, vendor)<\/li>\n<li>Sa\u00edda leg\u00edvel de tamanhos de arquivo<\/li>\n<li>Depend\u00eancias m\u00ednimas e constru\u00e7\u00e3o r\u00e1pida<\/li>\n<\/ul>\n<h2>&#x1f680; Instala\u00e7\u00e3o<\/h2>\n<p>Requer Go instalado para funcionar.<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-unknown\" data-lang=\"unknown\"><code>git clone https:\/\/github.com\/demensdeum\/gofis\ncd gofis\ngo build -o gofis main.go\n<\/code><\/pre>\n<\/div>\n<p>Uma vez constru\u00eddo, o bin\u00e1rio pode ser usado diretamente.<\/p>\n<p>H\u00e1 tamb\u00e9m uma vers\u00e3o aut\u00f4noma para vers\u00f5es modernas do Windows na p\u00e1gina de lan\u00e7amentos:<br \/>\n<a href=\"https:\/\/github.com\/demensdeum\/gofis\/releases\/\" rel=\"noopener\" target=\"_blank\">https:\/\/github.com\/demensdeum\/gofis\/releases\/<\/a><\/p>\n<h2>&#x1f50d; Exemplos de uso<\/h2>\n<p>Pesquise arquivos por nome:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-unknown\" data-lang=\"unknown\"><code>.\/gofis -n \"config\" -e \".yaml\" -p .\/src\n<\/code><\/pre>\n<\/div>\n<p>Pesquisa posicional r\u00e1pida:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-unknown\" data-lang=\"unknown\"><code>.\/gofis \"main\" \".\/projects\" 50\n<\/code><\/pre>\n<\/div>\n<p>Pesquise usando express\u00e3o regular:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-unknown\" data-lang=\"unknown\"><code>.\/gofis \"^.*\\.ini$\" \"\/\"\n<\/code><\/pre>\n<\/div>\n<h2>&#x1f9e9; Como funciona<\/h2>\n<p>Gofis \u00e9 baseado no modelo competitivo de Go:<\/p>\n<ul>\n<li>Cada diret\u00f3rio \u00e9 processado em uma goroutine separada<\/li>\n<li>Usa um sem\u00e1foro para limitar o n\u00famero de tarefas ativas<\/li>\n<li>Canais s\u00e3o usados \u200b\u200bpara transmitir resultados de pesquisa<\/li>\n<\/ul>\n<p>Esta abordagem permite o uso eficiente dos recursos da CPU<br \/>\ne acelera significativamente a pesquisa em grandes \u00e1rvores de arquivos.<\/p>\n<h2>&#x1f468;&#x200d;&#x1f4bb; Para quem o Gofis \u00e9 adequado?<\/h2>\n<ul>\n<li>Desenvolvedores que trabalham com reposit\u00f3rios grandes<\/li>\n<li>DevOps e administradores de sistema<\/li>\n<li>Usu\u00e1rios que precisam de uma pesquisa r\u00e1pida no terminal<\/li>\n<li>Para quem est\u00e1 aprendendo os usos pr\u00e1ticos da simultaneidade em Go<\/li>\n<\/ul>\n<h2>&#x1f4cc; Conclus\u00e3o<\/h2>\n<p>Gofis \u00e9 uma ferramenta simples, mas eficaz, que faz uma coisa e faz bem.<br \/>\nSe voc\u00ea costuma pesquisar arquivos em grandes projetos e valoriza a velocidade,<br \/>\nesta ferramenta CLI definitivamente vale a pena dar uma olhada.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Gofis \u00e9 uma ferramenta leve de linha de comando para pesquisar arquivos rapidamente no sistema de arquivos. Est\u00e1 escrito em Go e faz uso intenso de paralelismo (goroutines), o que o torna especialmente eficiente ao trabalhar com grandes diret\u00f3rios e projetos. O projeto est\u00e1 dispon\u00edvel no GitHub: https:\/\/github.com\/demensdeum\/gofis &#x1f9e0; O que s\u00e3o Gofis Gofis \u00e9<a class=\"more-link\" href=\"https:\/\/demensdeum.com\/blog\/pt\/2026\/01\/12\/gofis\/\">Continue reading <span class=\"screen-reader-text\">&#8220;Gofis&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[84],"tags":[],"class_list":["post-4290","post","type-post","status-publish","format-standard","hentry","category-software","entry"],"translation":{"provider":"WPGlobus","version":"3.0.2","language":"pt","enabled_languages":["en","ru","zh","de","fr","ja","pt"],"languages":{"en":{"title":true,"content":true,"excerpt":false},"ru":{"title":true,"content":true,"excerpt":false},"zh":{"title":true,"content":true,"excerpt":false},"de":{"title":true,"content":true,"excerpt":false},"fr":{"title":true,"content":true,"excerpt":false},"ja":{"title":true,"content":true,"excerpt":false},"pt":{"title":true,"content":true,"excerpt":false}}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/demensdeum.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/4290","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/demensdeum.com\/blog\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/demensdeum.com\/blog\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=4290"}],"version-history":[{"count":3,"href":"https:\/\/demensdeum.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/4290\/revisions"}],"predecessor-version":[{"id":4293,"href":"https:\/\/demensdeum.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/4290\/revisions\/4293"}],"wp:attachment":[{"href":"https:\/\/demensdeum.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=4290"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=4290"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=4290"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}