Sto provando a creare uno script di shell che recuperi l'URL immagine per un fumetto XKCD casuale, in modo che possa visualizzarlo utilizzando Übersicht. Dal momento che si può solo chiedere l'API XKCD per l'ultimo fumetto o una specifica fumetto ho bisogno di:Analisi di una risposta json di arricciatura e utilizzo della risposta per creare un'altra richiesta
- inviare una richiesta
GET
ahttp://xkcd.com/info.0.json
, recuperare il valore dell'elementonum
. - Invia un'altra richiesta a
http://xkcd.com/XXX/info.0.json
doveXXX
è il valore dinum
.
mio comando corrente assomiglia a questo e con successo restituisce il numero fumetto:
curl -s 'http://xkcd.com/1510/info.0.json' | grep -Eo '"num": \d+' | grep -Eo '\d+'
- non sono stato in grado di capire come utilizzare i gruppi di cattura con
grep
, quindi ho bisogno di grep il JSON due volte. Il consiglio comune è utilizzare-P
, che non è supportato in Mac OS X 10.10. - Non ho idea di come leggere l'output di grep (come
XXX
) nel secondo comandocurl -s 'http://xkcd.com/XXX/info.0.json'
.
Questo funziona perfettamente nel terminale, quindi lo accetto. Grazie, ottimo lavoro. Ora ho solo bisogno di farlo funzionare in Übersicht - sto ottenendo un errore di 'octal escape sequence'. –
@SamuelLindblom Non riesco a vedere nessuna sequenza di escape ottale nei miei comandi. E non uso Übersicht: puoi spiegare quale passaggio va storto in dettaglio? (Se non sei sicuro, puoi abbattere la pipeline e testare separatamente). – 4ae1e1