Tipp für die Linux Bash: jq is a lightweight and flexible command-line JSON processor
jq ist ein flexibles leichtgwwichtges Tool für Json, ähnlich wie sed. Damit kann man direkt Json Quellen anzapfen und diese dann als Monitoring nutzen.
Neue Docker Image abfragen
Für meinen konkreten Fall wollte ich wissen wann eine neue Gitea, oder Redmine-Version für Docker verfügbar wird. In diesem Beispiel wird abgefragt anzahl Images bei hub.docker.com vefügbar sind: ./docker-apps.sh gitea
#!/bin/bash app=$1 json="" if [ "$1" = "gitea" ]; then json=$(curl -s "https://hub.docker.com/v2/repositories/gitea/gitea/tags/?page_size=25&page=1") fi if [ "$1" = "redmine" ]; then json=$(curl -s "https://hub.docker.com/v2/repositories/sameersbn/redmine/tags/?page_size=5&page=1") fi echo $json | jq '.count'
Der Output ist im Fall von Gitea 1.7.3 schlichtweg nur "62". Somit muss ich nur noch prüfen ob sich der Zähler geändert hat. Im zweiten Fall wollte ich die 4 letzten Versionen, bez. Tags des Docker Images haben.
#!/bin/bash json=$(curl -s "https://hub.docker.com/v2/repositories/gitea/gitea/tags/?page_size=4&page=1") SUB_0=( $(echo $json | jq '.results' | jq '.[].name') ) SUB_1=( $(echo $json | jq '.results' | jq '.[].last_updated') ) c=0 for i in "${SUB_0[@]}" do xlast=${SUB_1[$c]} len=${#i} if [ "$len" -gt 5 ];then echo -e "$c \t $i \t $xlast" else echo -e "$c \t $i \t\t $xlast" fi c=$(($c+1)) done
Ergbt als Output:
0 "latest" "2019-03-11T18:34:05.288288Z" 1 "1.7" "2019-03-05T18:57:54.614169Z" 2 "1.7.3" "2019-02-27T20:54:51.165743Z" 3 "1" "2019-02-27T20:54:46.033051Z
Hier könnte man wiederum Ansetzen und das Datum triggern.
Fazit
Mit jq hat man eine geniale Möglichkeiten Json Daten direkt zu verarbeiten wie ich es z.b. für xPath für XML kenne und spart sich wesentliche Programmierarbeit. Link: https://stedolan.github.io/jq/tutorial/
×
...auch noch interessant
- tool // 29.02.2024there is a problem with windows installer package. A DLL required for this install to complete could not be run
- tool // 09.02.2024MySQL: Japanisch konvertieren zwischen HEX, Decimal code point, UNICODE characters bytes
- tool // 23.01.2024Wadoku mit verbessertem Responsive Design und Copy Paste
- tool // 01.07.2022Contrast Color Generator: Schwarz oder Weiss
Tippsammlung
Kleine Tippsammlung für mich und dijenige die sich auf meine Webseite verirrt haben.Archiv
Jahr
Tag(s):- Apr 2024 (1)
- Feb 2024 (3)
- Jan 2024 (1)
- Sep 2023 (1)
- Jul 2023 (1)
- Apr 2023 (1)
- Feb 2023 (1)
- Nov 2022 (2)
- Oct 2022 (1)
- Jul 2022 (1)
- Jun 2022 (2)
- May 2022 (2)
- Apr 2022 (6)
- tipps (31)
- synology (27)
- linux (22)
- Windows (19)
- tool (17)
- Powershell (15)
- Windows 10 (13)
- csharp (c#) (9)
- coding (9)
- Ubuntu (6)
- security (6)
- ad (6)
- Windows 2012 R2 (5)
- vpn (5)
- Pi (5)
- gitea (5)
- git (5)
- Windows 2012 (4)
- Ubuntu 22.04 (4)
- opnsense (4)
- openpgp.js (4)
- mysql (4)
- docker (4)
- Xubuntu (3)
- Windows 2016 (3)
- seo (3)
- Japanisch (3)
- ipkg (3)
- app (3)
- Android (3)
- Zertifizierungsstelle (2)
- wsus (2)
- Windows Updates (2)
- windows 2022 (2)
- Windows 2008 (2)
- web2 (2)
- wadoku (2)
- VMware (2)
- verschlüsselung (2)
- Scripts (2)
- php (2)
- pgp (2)
- perl (2)
- openvpn (2)
- LMS (2)
- Kanji (2)
- javascript (2)
- GnuPgP (2)
- Firewall (2)
- Excel (2)
Nichts gefunden
Es wurde zur Story Tipp für die Linux Bash: jq is a lightweight and flexible command-line JSON processor kein Kommentar gefundenInformation
Werbung oder Ähnliches sind nicht erlaubt, daher wird jeder Beitrag geprüft und freigegeben.Advertising, etc. are not allowed, so any contribution is reviewed and approved.
Facebook-Webadress are not allowed, Facebook als Webadresse ist nicht erlaubt
* Die E-Mail wird nicht veröffentlicht / The email will not be published
** Bitte Zahl eintragen / Please enter the number
Modal Header
Some text in the Modal Body
Some other text...
(c)2024 stastka.ch // help system