これ精密ここで質問が出ました:
パイプラインチェーンでjqを使用すると、出力は生成されません。
しかし、そこに提供された答えは私の問題を解決しませんでした。さらに、次の内容を読みました。
- パイプラインでバッファリングをオフにする
- https://stackoverflow.com/questions/62809196/how-do-i-keep-colors-when-piping-jq-output-to-less
これらのどれも私の問題を解決できませんでした。さて、上記の情報は私が宿題を終えたことを知らせるためのものです。もっと読む前に、この質問に反対したり閉じたりしないでください。 :-)
私は次のコマンドを使用します美しい印刷JSONファイル:
cat a-json-file.json |jq|less
しかし、(END)
画面の下部には何も表示されません。その後、問題を検索して上記の情報を見つけてみました。
cat a-json-file.json |jq --unbuffered|less
何もしません。その後、インストールしようexpect
としました。
cat a-json-file.json |unbuffer jq|less
やはり動作せず、jq
コマンドライン使用情報のみ出力します!
最後に、私は次のように問題を解決しました。
jq "." a-json-file.json |less
さて、問題は、パイプチェーンがjqで動作しない理由と上記の動作しないコマンドと動作するコマンドの違いは何ですか?
私のシステム情報:Debian 10 buster
、、jq-1.5-1-a5b5cbe
。
ベストアンサー1
@steeldriverのコメントで問題を解決しました。
あなたも試してみましたか
cat a-json-file.json |jq '.'|less
?これはjq 1.5の既知の問題のようです。例をご覧ください。リダイレクトまたはパイプ出力の動作が異なります#1028とバグ修正セクションjq 1.6 リリースノート