web-dev-qa-db-ja.com

Windowsでgitbashからjqを実行する方法は?

Windowsにはgitbashがあります。 jqを実行しようとしていますが、エラーが発生します。

$ ./jq-win64.exe 
jq 
parse error: Invalid numeric literal at line 2, column 0

意図jqを使用してjsonを解析します。

6
DotNetDeveloper

jq-win64.exe からgithub.com/stedolan/jq/releasesを使用すると、

vonc@voncav MINGW64 /d/prgs/dl
$ ./jq-win64.exe --version
jq-1.6

vonc@voncav MINGW64 /d/prgs/dl
$ echo '{"foo": 0}' | ./jq-win64.exe .
{
  "foo": 0
}

だからそれは動作しますが、それはあなたがそれを解析しているjsonドキュメントに依存します。
JSONドキュメントの形式が適切でない場合、表示されるエラーが生成されます。

Bashセッションでは、エイリアスを定義(または~/.bashrcに追加)できます:

alias jq=/path/to/jq-win64.exe

そうすれば、./jqを使用する必要はなく、直接jqを使用する必要があります。

$ echo '{"foo": 0}' | jq

私の場合:

vonc@voncav:/$ alias jq=/mnt/d/dwnl/jq-win64.exe
vonc@voncav:/$ echo '{"foo": 0}' | jq
{
  "foo": 0
}
11
VonC

バイナリを%HOMEPATH%/bin/jq-win64にダウンロードしたところ、jq経由ですぐに動作しました

0
kidbrax