JQ

From HackerNet
Revision as of 23:28, 23 March 2019 by Sparco (talk | contribs) (Created page with "jq är en command-line JSON parser. =Installation= <ul class="nav nav-tabs"> <li class="active"><btn data-toggle="tab" class="">#tab1|CentOS 7</btn></li> <li><btn data...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

jq är en command-line JSON parser.

Installation

Krävs att du har EPEL repot aktiverat.

sudo yum install jq
sudo apt-get install jq

Användning

Skaffa lite exempel JSON via Hackernets API där vi söker på alla sidor som innehåller ordet Cisco:

curl 'https://hackernet.se/api.php?action=query&list=search&srsearch=cisco&format=json'

Pretty-printa JSON koden så den blir läsbar:

curl 'https://hackernet.se/api.php?action=query&list=search&srsearch=cisco&format=json' | jq '.'

Filtrera ut vilka sidor du hitta:

curl 'https://hackernet.se/api.php?action=query&list=search&srsearch=cisco&format=json' | jq '.query.search[].title'

Filtrera ut titeln och exempel texten från sidan:

curl 'https://hackernet.se/api.php?action=query&list=search&srsearch=cisco&format=json' | jq '.query.search[] | {titel: .title, text: .snippet}'

Sortera sidorna efter lägst antal ord:

curl 'https://hackernet.se/api.php?action=query&list=search&srsearch=cisco&format=json' | jq '.query.search | sort_by(.wordcount) | .[].title'

Skapa en URL till varje sida:

curl 'https://hackernet.se/api.php?action=query&list=search&srsearch=cisco&format=json' | jq '.query.search[] | ("https://hackernet.se/w/"+""+.title)'

Tips'N'Tricks

Använd jqplay för att enkelt skriva jq filter.