如何在Windows中从gitbash运行jq?

时间:2018-12-29 07:43:29

标签: bash jq git-bash

我在Windows中有gitbash。我正在尝试运行jq,但它给了我错误。

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

意图:我想使用jq来解析json。

5 个答案:

答案 0 :(得分:15)

我讨厌回答,说您需要另一个才能使用其他工具下载,但是使用https://chocolatey.org/对我来说非常简单。

从提升的命令提示符下运行:

choco install jq

jq可以从bash向前神奇地工作。

答案 1 :(得分:5)

使用github.com/stedolan/jq/releases中的jq-win64.exe,我得到

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
}

答案 2 :(得分:5)

最简单的解决方案,始终是最新版本:


在您的gitbash中运行此卷曲:

curl -L -o /usr/bin/jq.exe https://github.com/stedolan/jq/releases/latest/download/jq-win64.exe

或将上面链接中的jq-win64.exe作为jq.exe手动保存到/usr/bin(位于git bash安装文件夹中)

(如果您在代理后面,请添加-x proxyhost:port

enter image description here

答案 3 :(得分:2)

除了使用chocolatey(具有提升的权限),您还可以使用scoop.sh

scoop install jq

答案 4 :(得分:0)

我刚刚将二进制文件下载到ovf,并且可以立即通过%HOMEPATH%/bin/jq-win64

运行