Fish Shell:
Робота з JSON
Як це зробити:
Fish Shell сам по собі не має вбудованих утиліт для розбору та створення JSON. Однак, він безпроблемно інтегрується з сторонніми інструментами, такими як jq
для обробки JSON. jq
- це потужний і універсальний процесор JSON командного рядка, який дозволяє вирізати, фільтрувати, відображати та трансформувати структуровані дані за допомогою простої та виразної мови.
Розбір JSON з jq
Для розбору файлу JSON і витягнення даних за допомогою jq
:
# Припустимо, у вас є файл JSON з назвою 'data.json' з вмістом: {"name":"Fish Shell","version":"3.4.0"}
cat data.json | jq '.name'
# Приклад виводу
"Fish Shell"
Генерація JSON з jq
Створення вмісту JSON зі змінних оболонки або виводів:
# Створити JSON-об’єкт із змінних
set name "Fish Shell"
set version "3.4.0"
jq -n --arg name "$name" --arg version "$version" '{name: $name, version: $version}'
# Приклад виводу
{
"name": "Fish Shell",
"version": "3.4.0"
}
Фільтрація масивів JSON
Припустимо, у нас є масив об’єктів JSON у файлі під назвою versions.json
:
[
{"version": "3.1.2", "stable": true},
{"version": "3.2.0", "stable": false},
{"version": "3.4.0", "stable": true}
]
Щоб відфільтрувати цей масив лише для стабільних версій:
cat versions.json | jq '.[] | select(.stable == true) | .version'
# Приклад виводу
"3.1.2"
"3.4.0"
Наведені приклади демонструють потужність інтеграції jq
з Fish Shell для операцій з JSON. Використання таких інструментів збагачує досвід роботи з оболонкою, роблячи її міцним середовищем для обробки сучасних форматів даних.