Ferramenta de linha de comando e linguagem de consulta como jq para selecionar, filtrar e transformar arquivos Markdown.
01mf02/jaq
Um clone do jq em Rust, focado em correção, velocidade e simplicidade, disponível como CLI compatível com jq ou como biblioteca.
Alternativa open source a:jq
- Estrelas
- 3,809
- Forks
- 126
- Issues abertas
- 24
- Último commit
- ontem
O que é?
jaq é um clone da ferramenta de processamento de JSON jq, escrito em Rust. O projeto busca substituir o jq diretamente na linha de comando, com uma implementação mais previsível da linguagem jq, e também adiciona suporte a formatos de dados que o jq não oferece, como YAML, CBOR, TOML e XML.
jaq está disponível em duas formas: um programa de linha de comando chamado jaq e a biblioteca jaq-core, que compila e executa programas jq dentro de código Rust. jaq-core pode ser usado com segurança em ambientes multithread e funciona com tipos de dados arbitrários além de JSON, por meio da trait ValT.
O projeto informa que tem uma inicialização mais rápida que o jq, o que faz diferença ao processar muitos arquivos pequenos, e inclui uma comparação de desempenho com jq e gojq. O núcleo foi auditado quanto à segurança e o projeto conta com uma suíte de mais de 500 testes.
Recursos principais
- 01Substituto direto do jq na linha de comando
- 02Aceita formatos de entrada YAML, CBOR, TOML e XML
- 03Biblioteca jaq-core para executar programas jq em Rust, com segurança entre threads
- 04Extensível a tipos de dados personalizados por meio da trait ValT
- 05Inicialização rápida e benchmarks comparativos com jq e gojq
- 06Núcleo auditado quanto à segurança e coberto por mais de 500 testes
Casos de uso
- Substituir o jq em scripts de shell e pipelines que processam JSON
- Processar muitos arquivos pequenos, quando o tempo de inicialização do jq se acumula
- Incorporar consultas no estilo jq a uma aplicação Rust
Início rápido
- 1
Instale jaq do crates.io com Cargo
cargo install --locked jaq - 2
Instale jaq com Homebrew no macOS ou Linux
brew install jaq - 3
Ou baixe um binário para sua plataforma na página de lançamentos
Antes de usar
- jaq não toma medidas contra o esgotamento de recursos, portanto pode usar tempo, memória ou espaço de pilha sem limite.
- Alguns comportamentos do jaq diferem dos do jq por design, então a compatibilidade não é completa em todos os casos.
Tópicos
Perguntas frequentes
- O que é jaq?
- Um clone do jq em Rust, focado em correção, velocidade e simplicidade, disponível como CLI compatível com jq ou como biblioteca. jaq é um clone da ferramenta de processamento de JSON jq, escrito em Rust. O projeto busca substituir o jq diretamente na linha de comando, com uma implementação mais previsível da linguagem jq, e também adiciona suporte a formatos de dados que o jq não oferece, como YAML, CBOR, TOML e XML.
- jaq é gratuito? Qual é a licença?
- jaq é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- jaq ainda é mantido?
- Manutenção ativa. O último commit de jaq foi em 21 de out. de 2026.
- Para que posso usar jaq?
- Substituir o jq em scripts de shell e pipelines que processam JSON Processar muitos arquivos pequenos, quando o tempo de inicialização do jq se acumula Incorporar consultas no estilo jq a uma aplicação Rust
- Como instalar jaq?
- Instale jaq do crates.io com Cargo: cargo install --locked jaq Instale jaq com Homebrew no macOS ou Linux: brew install jaq Ou baixe um binário para sua plataforma na página de lançamentos
- Onde consigo jaq?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/01mf02/jaq
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Um visualizador e processador de JSON no terminal para navegar, recolher e transformar JSON de forma interativa no shell.
Ferramenta de linha de comando em Rust para pré-visualizar, filtrar, agregar, combinar e transformar arquivos CSV e TSV diretamente no terminal.
Visualizador de logs via linha de comando que transforma logs JSON e logfmt em uma saída legível, com filtros, ordenação e acompanhamento em tempo real.
Pacote declarativo em Go para criar ferramentas de linha de comando, com subcomandos, flags, conclusão no shell e geração de ajuda.
Ferramenta CLI e biblioteca Python que converte a saída de ferramentas de linha de comando, formatos de arquivo e strings comuns em JSON, YAML ou dicionários.