jq - commandline JSON processor [version 1.7]
Usage: jq [options] < jq filter> [file...]
jq [options] --args < jq filter> [strings...]
jq [options] --jsonargs < jq filter> [JSON_TEXTS...]
jq это утилита командной строки, которая на входе принимает текст JSON, применяет е нему указанный фильтр и на выходе генерирует JSON.
Простейший фильтр это точка ., который копирует вход jq на выход без модификации, кроме форматирования. Более продвинутые фильры см. jq(1) manpage ("man jq") и/или https://jqlang.github.io/jq/.
Пример использования:
$ echo '{"foo": 0}' | jq .
{
"foo": 0
}
Опции командной строки:
-n, --null-input используется `null` в качестве одиночного входного значения;
-R, --raw-input читает каждую линию как строку вместо JSON;
-s, --slurp читает весь ввод в массив, и использует его как одиночное
входное значение;
-c, --compact-output компактный вывод вместо красивого (pretty-printed;
-r, --raw-output выведет строки без esc-ов и кавычек;
--raw-output0 применит -r и выведет NUL после каждого вывода;
-j, --join-output применит -r и выведет без символа \n после каждого вывода;
-a, --ascii-output выведет строки только символами ASCII, используя
esc-последовательности;
-S, --sort-keys сортирует ключи каждого объекта на выводе;
-C, --color-output раскрашивает вывод JSON;
-M, --monochrome-output запретит расцвеченный вывод;
--tab использует табы для отступа;
--indent n использует n пробелов для отступа (максимум 7 пробелов);
--unbuffered сбрасывает (flush) выходной поток после каждого вывода;
--stream анализирует входное значение в потоковом режиме;
--stream-errors применит --stream и сообщит об ошибке парсинга в виде массива;
--seq парсит ввод/вывод как application/json-seq;
-f, --from-file file загрузит фильтр из файла;
-L directory ищет модули из директории;
--arg name value установит $name в значение строки;
--argjson name value установит $name в значение JSON;
--slurpfile name file установит $name в массив значений JSON, прочитанных из файла;
--rawfile name file установит $name в строку содержимого файла;
--args будет использовать остальные аргументы как позиционные
строковые значения;
--jsonargs будет использовать остальные аргументы как позиционные
JSON-значения;
-e, --exit-status установит код статуса завершения на основе вывода;
-V, --version покажет версию;
--build-configuration покажет конфигурацию сборки jq;
-h, --help покажет подсказку;
-- завершит обработку аргументов;
Именованные аргументы также доступны как $ARGS.named[], в то время как позиционные аргументы доступны как $ARGS.positional[].