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"