Просмотр файла JSON в Midnight Commander с помощью jq

Итак, есть замечательный инструмент для работы с данными JSON, который называется jq.

И есть замечательный файловый менеджер Linux под названием mc.

Однажды (сегодня) мне пришла в голову идея объединить эти два, чтобы я мог легко просматривать файлы JSON в красивом / отформатированном виде, используя сочетание клавиш F3 в Midnight Commander.

Я открыл файл расширения MC, используя действия меню CommandEdit extension file, а затем добавил следующее в такой открытый файл конфигурации:

# json
regex/\.json$
   View=%view{ascii} jq < %f

Я думал, что это просто, но неожиданно это не работает: попытка просмотреть JSON (F3) приводит к всплывающему окну с содержимым страницы справки jq (так же, как если бы вы вводили jq сам по себе), поэтому начиная с: "jq - обработчик командной строки JSON [версия 1.5]..."

Может ли кто-нибудь сказать мне, почему эта конфигурация неверна?


jq mc
person roomcays    schedule 28.03.2018    source источник


Ответы (2)


Через две минуты после того, как я отправил свой вопрос, меня раскрыли.

Я думал, что, возможно, jq не производит стандартный вывод... Это привело меня к этому вопросу: Как использовать jq в конвейере оболочки? поэтому я изменил файл расширения, чтобы он выглядел так:

# json
regex/\.json$
    View=%view{ascii} jq '.' < %f

И теперь он работает, как и ожидалось, передавая результат jq во внутреннюю программу просмотра mc.

Спасибо, я ;)

person roomcays    schedule 28.03.2018

Вам не нужно использовать перенаправление здесь, вы можете использовать простое имя файла %f:

# json
regex/\.json$
    View=%view{ascii} jq '.' %f

и, как вы упомянули, вам нужно использовать простой фильтр: .

person DIG mbl    schedule 11.03.2021