HTML_TAG_158_ __HTML_TAG_159_ Tutti i comandi jq_HTML_TAG_160 HTML_TAG_161_📄 Genera jq PDF Guida_HTML_TAG_162
jq Cheatsheet - Command-line JSON Processore¶
Installazione¶
Tabella_166
Comandi di base¶
Tabella_167_
Uso avanzato¶
Tabella_168_
String Operations¶
Tabella_169
Configurazione¶
Opzioni Command-Line¶
# Raw output (no JSON quotes for strings)
jq -r '.field' file.json
# Compact output (single line)
jq -c '.' file.json
# Sort object keys
jq -S '.' file.json
# Slurp mode (read entire input into array)
jq -s '.' file1.json file2.json
# Null input (don't read stdin)
jq -n '{created: now}'
# Exit status based on output
jq -e '.field' file.json # Exit 1 if false/null
# Color output control
jq -C '.' file.json # Force color
jq -M '.' file.json # Disable color
# Custom indentation
jq --indent 4 '.' file.json
jq --tab '.' file.json
# Read filter from file
jq -f filter.jq data.json
# Pass variables to jq
jq --arg name "John" '{user: $name}' -n
jq --argjson count 42 '{total: $count}' -n
jq --slurpfile data file.json '{imported: $data}' -n
# Multiple inputs
jq --jsonargs '. | @json' --args arg1 arg2 arg3
Variabili ambientali¶
# Customize output colors (format: null:false:true:numbers:strings:arrays:objects)
export JQ_COLORS="0;90:0;91:0;92:0;93:0;94:0;95:0;96"
# Default colors (bright theme)
export JQ_COLORS="1;30:0;39:0;39:0;39:0;32:1;39:1;39"
# Disable colors entirely
export NO_COLOR=1
Filtro file¶
Creare file di filtro riutilizzabili per operazioni complesse:
# filter.jq
.data[]
| select(.status == "active")
| {
id: .id,
name: .name,
created: .timestamp | strftime("%Y-%m-%d")
}
# Usage
jq -f filter.jq data.json
Common Use Cases¶
Use Case: Parse API Response¶
Traduzione:
Use Case: Process AWS CLI Output¶
Traduzione:
Use Case: Log Analysis¶
Traduzione:
Use Case: Transform Data Structure¶
Traduzione:
Use Case: Configuration Management¶
Traduzione:
Migliori Pratiche¶
- Utilizza
-r_ per gli script: Quando estrarre i valori per gli script di shell, utilizzare l'output raw per evitare stringhe citate - Si'. Operazioni a catena con
|invece di più chiamate jq per prestazioni migliori - Test filtri incrementalmente: Costruire filtri complessi passo per passo, testando ogni parte con i dati del campione
- I campi mancanti. Utilizzare
//operatore otry-catchper fornire i default per i campi opzionali - Utilizza
-e_ per la validazione: Imposta lo stato di uscita in base all'output per una gestione affidabile degli errori negli script - Store filtri complessi: Salvare i filtri riutilizzabili nei file
.jqe utilizzare l'opzione-fper la manutenzione - Si'. Filtri jq monoquote in guscio per evitare l'espansione delle shell di caratteri speciali
- Utilizzare
selectprima __INLINE_CODE_93_: filtrare i dati prima di trasformarli per migliorare le prestazioni su grandi set di dati - Leverage
--arg_ per la sicurezza: passare i valori esterni come argomenti invece di interpolazione stringa per prevenire l'iniezione - Profilo di grandi operazioni: Utilizzare
--debugflag per comprendere l'esecuzione dei filtri e ottimizzare i colli di bottiglia
Risoluzione dei problemi¶
Tabella_170_
Riferimento: Operatori¶
TABLE_171_| and__________not | Operatori logici | jq '.a and .b'_