シェルパイプラインでjq
が "正常に"動作するように見えません。たとえば:jq
でシェルパイプラインで `jq`を使うには?
$ curl -s https://api.github.com/users/octocat/repos | jq | cat
結果は単に*そのヘルプテキストをプリントアウトします。それはそれがttyから実行されていないと判断した場合
は$ curl -s https://api.github.com/users/octocat/repos | jq > /tmp/stuff.json
jq
は故意に救済されています:私は、ファイルにjq
の出力をリダイレクトしようとした場合、同じことが起こりますか?パイプラインでjq
を使用できるように、この動作を回避するにはどうすればよいですか?
* (私は、この例では、useless use of catが含まれて実現、それは、例示のみの目的のためです)
なぜ "猫" へのパイプ?本当に必要ですか? –
私はOPにそれがあったのでそれを残しました。 'jq'がパイプから読み込んでいて、別のパイプに書き込んでいることを示すためのプレースホルダです。単に 'jq'の出力を見ることが望まれる場合、' cat'自体は不要です。 – chepner
(1)jqバージョン1.5が拡張されました。このような場合は不要です。 (2) "。"を引用する必要はありません。 – peak