Os 10 principais comandos JQ todos os desenvolvedores do Linux devem saber
- 3438
- 37
- Ms. Travis Schumm
O JQ é um processador JSON da linha de comando versátil do Linux que permite que os desenvolvedores analisem, filmem e transformam dados JSON de maneira rápida e eficiente. Seus recursos poderosos o tornam uma ferramenta indispensável para quem trabalha com arquivos JSON nos sistemas Linux. Neste artigo, abordaremos os 10 principais comandos JQ essenciais que todo desenvolvedor Linux deve saber para otimizar suas tarefas de processamento JSON.
Exemplo de conteúdo de arquivo json
Para este tutorial, você pode usar o seguinte exemplo JSON Data em um arquivo nomeado entrada.JSON. Esses dados JSON representam uma variedade de pessoas com seus respectivos nomes, idades, países e endereços:
["Nome": "Alice", "Age": 35, "Country": "USA", "Endereço": "Street": "123 Main St", "City": "New York", "Estado ":" NY "," zip ":" 10001 ", " nome ":" bob "," idade ": 28," país ":" Canadá "," endereço ": " rua ":" 456 Maple Ave "," City ":" Toronto "," Província ":" On "," Postal_code ":" M5V 1A1 ", " Name ":" Charlie "," Age ": 42," Country ": "USA", "Endereço": "Street": "789 Oak St", "City": "San Francisco", "State": "CA", "Zip": "94102", "nome" : "David", "Age": 23, "País": "Canadá", "Endereço": "Street": "321 Pine St", "City": "Vancouver", "Província": "BC", "postal_code": "v6b 2p4"]1234567891011121314151617181920212223242526272829303132333435363737383940414243444546 | ["Nome": "Alice", "Age": 35, "Country": "USA", "Endereço": "Street": "123 Main St", "City": "New York", "Estado ":" NY "," zip ":" 10001 ", " nome ":" bob "," idade ": 28," país ":" Canadá "," endereço ": " rua ":" 456 Maple Ave "," City ":" Toronto "," Província ":" On "," Postal_code ":" M5V 1A1 ", " Name ":" Charlie "," Age ": 42," Country ": "USA", "Endereço": "Street": "789 Oak St", "City": "San Francisco", "State": "CA", "Zip": "94102", "nome" : "David", "Age": 23, "País": "Canadá", "Endereço": "Street": "321 Pine St", "City": "Vancouver", "Província": "BC", "postal_code": "v6b 2p4"] |
Salve este conteúdo JSON em um arquivo nomeado "entrada.json ” e use -o como entrada para os vários comandos JQ no tutorial. Este exemplo de dados ajudará você a entender e praticar melhor os diferentes comandos e técnicas JQ descritas no artigo.
10 Exemplos de comando JQ para desenvolvedores Linux
- Dados JSON impressos bonitos
Para impressionar dados JSON, basta passar o arquivo json para o comando jq seguido de um período (
.
):jq '.' entrada.JSON
- Recuperar uma chave JSON específica
Para extrair o valor de uma chave específica de um objeto JSON, use a seguinte sintaxe:
jq '.chave 'entrada'.JSON1 jq '.chave 'entrada'.JSON Por exemplo, para extrair o valor do "nome" chave, use:
jq '.Nome 'entrada.JSON
- Acesso valores de JSON aninhados
Para acessar valores JSON aninhados, use o ponto (
jq '.chave1.key2.key3 'entrada.JSON.
) notação:1 jq '.chave1.key2.key3 'entrada.JSON Por exemplo, para extrair o valor do "cidade" chave aninhada abaixo "endereço", usar:
jq '.endereço.contribuição da cidade.JSON
- Itera as matrizes JSON
Use os suportes quadrados (
[]
) para iterar as matrizes JSON:jq '.[]' entrada.JSON
Para extrair teclas específicas de cada objeto dentro da matriz, use o tubo (
|
) Operador:jq '.[] | .chave 'entrada'.JSON
- Filtre dados JSON
Para filtrar dados JSON com base em condições específicas, use a função Selecionar:
jq '.[] | Selecionar (.chave == "valor") 'entrada.JSON1 jq '.[] | Selecionar (.chave == "valor") 'entrada.JSON Por exemplo, para filtrar objetos em uma matriz com um "idade" Maior que 30, usar:
jq '.[] | Selecionar (.idade> 30) 'entrada.JSON
- Mapear e transformar dados JSON
Para mapear e transformar dados JSON, use os aparelhos encaracolados (
jq '.[] | key1: .key1, key2: .key2 'entrada.JSON):
1 jq '.[] | key1: .key1, key2: .key2 'entrada.JSON Por exemplo, para criar um novo objeto JSON apenas com o "nome" e "idade" chaves, use:
jq '.[] | nome: .nome idade: .idade 'entrada.JSON
- Combine vários arquivos JSON
Para mesclar dois arquivos JSON, use o
*
operador:jq -s '.[0] * .[1] 'arquivo1.JSON File2.JSON
- Executar operações aritméticas
O JQ pode executar operações aritméticas em valores numéricos de JSON:
jq '.número 1 + .entrada 2 'entrada.JSON1 jq '.número 1 + .entrada 2 'entrada.JSON Por exemplo, para calcular a soma de dois números em um arquivo json, use:
jq '.número 1 + .entrada 2 'entrada.JSON
- Classificar dados JSON
Para classificar os dados JSON com base em uma chave específica, use o 'ordenar por' função:
jq '.[] | ordenar por(.chave) 'entrada.JSON1 jq '.[] | ordenar por(.chave) 'entrada.JSON Por exemplo, para classificar uma variedade de objetos pelo "idade" chave, use:
jq '.[] | ordenar por(.idade) 'entrada.JSON
- Dados do JSON do grupo
Para agrupar os dados JSON com base em uma chave específica, use o 'group_by' função:
JQ 'group_by (.chave) 'entrada.JSON1 JQ 'group_by (.chave) 'entrada.JSON Por exemplo, para agrupar uma variedade de objetos pelo "país" chave, use:
JQ 'group_by (.país) 'entrada.JSON
Conclusão
Esses 10 principais comandos JQ essenciais oferecem uma base sólida para os desenvolvedores do Linux que trabalham com arquivos JSON. O domínio desses comandos ajudará você a analisar, filtrar e manipular os dados JSON com mais eficiência, aprimorando seu fluxo de trabalho de desenvolvimento.
À medida que você ganha experiência com o JQ, você descobrirá recursos e técnicas ainda mais avançadas que atendem às suas necessidades específicas. A ferramenta de linha de comando JQ é um ativo inestimável para qualquer desenvolvedor que trabalhe com dados JSON sobre sistemas Linux, e saber que esses itens essenciais servirão como um forte ponto de partida em sua jornada para se tornar um usuário de JQ Power.
Para expandir ainda mais seu conhecimento JQ, considere mergulhar na documentação oficial do JQ (https: // stedolan.Github.io/jq/manual/) e explorando recursos da comunidade, como tutoriais, postagens de blog e fóruns. À medida que você continua a aprimorar suas habilidades JQ, você desbloqueia todo o potencial dessa poderosa ferramenta de processamento JSON, tornando -a parte integrante do seu Linux Development Toolkit.
- « Compreendendo 2> & 1 em Bash a Guia do Iniciante
- Compreendendo a diferença entre 'git pux' e 'git busca' »