Fish Shell:
Trabalhando com JSON

Como Fazer:

O Fish Shell, por si só, não possui utilidades internas para análise e geração de JSON. No entanto, ele integra-se perfeitamente com ferramentas de terceiros como o jq para processamento de JSON. O jq é um processador JSON de linha de comando poderoso e versátil que permite recortar, filtrar, mapear e transformar dados estruturados com uma linguagem simples e expressiva.

Analisando JSON com jq

Para analisar um arquivo JSON e extrair dados usando jq:

# Supondo que você tenha um arquivo JSON chamado 'data.json' com o conteúdo: {"name":"Fish Shell","version":"3.4.0"}
cat data.json | jq '.name'
# Exemplo de saída
"Fish Shell"

Gerando JSON com jq

Criando conteúdo JSON a partir de variáveis ou saídas do shell:

# Criar objeto JSON a partir de variáveis
set name "Fish Shell"
set version "3.4.0"
jq -n --arg name "$name" --arg version "$version" '{name: $name, version: $version}'
# Exemplo de saída
{
  "name": "Fish Shell",
  "version": "3.4.0"
}

Filtrando Coleções JSON

Suponha que temos um array JSON de objetos em um arquivo chamado versions.json:

[
  {"version": "3.1.2", "stable": true},
  {"version": "3.2.0", "stable": false},
  {"version": "3.4.0", "stable": true}
]

Para filtrar este array apenas pelas versões estáveis:

cat versions.json | jq '.[] | select(.stable == true) | .version'
# Exemplo de saída
"3.1.2"
"3.4.0"

Os exemplos fornecidos demonstram o poder de integrar o jq com o Fish Shell para operações com JSON. Aproveitar tais ferramentas enriquece a experiência do shell, tornando-o um ambiente formidável para lidar com formatos de dados modernos.