Für Verarbeitung von JSON Daten in der Shell gehört jq zu den wirklich essentiellen Tools - so wie sed oder awk. Während ich unter Linux jq ohne viel Gedanken einfach verwende war ich dann doch etwas verwundert dass es unter Cygwin nicht verfügbar ist…

TLDR: jq unter Cygwin kompilieren

kein jq installiert?

Verdammt - wo ist die jq Binary?

which jq

which: no jq in (/usr/local/bin:....)

OK, also das Paket via Cygwin’s setup.exe nachinstallieren. Leider lässt sich dort kein jq Paket finden, was eher schlecht ist - das Kompilieren von Linuxprogrammen unter Cygwin/Windows geht bei steigender Programmkomplexität oft schief.

Bei jq hat es allerdings wunderbar funktioniert - der Programmautor Stephen Dolan selbst hat in der Anleitung entsprechend auch auf Cygwin verwiesen.

jq Quellcode

Der Quellcode wird vom Github-Repository heruntergeladen und dann entpacken…

wget https://github.com/stedolan/jq/releases/download/jq-1.5/jq-1.5.tar.gz
tar xvfz jq-1.5.tar.gz
cd jq-1.5

jq kompilieren

Dass zum Kompilieren entsprechende Build-Tools wie gcc oder make installiert sein müssen versteht sich von selbst…

./configure --disable-maintainer-mode
make
make install

…ausprobieren

which jq

/usr/local/bin/jq
jq --version

jq-1.5
echo '{ "author": "mplx", "website": "https://mplx.eu" }' | jq

{
  "author": "mplx",
  "website": "https://mplx.eu"
}
$ echo '{ "author": "mplx", "website": "https://mplx.eu" }' | jq '.website'
"https://mplx.eu"