Both sides previous revision
Previous revision
Next revision
|
Previous revision
|
os:jq [2023/04/24 16:48] tomas [jq příkazy] |
os:jq [2024/02/11 14:01] (current) tomas [Konverze TXT na JSON] |
%%cat soubor.json | jq -r '.rows | map([.name, .chef_environment, .automatic.os, ('`date +%s`' - .automatic.ohai_time | tostring)] | join(", ")) | join("\n")'%% ... dalsi zpusob prevodu do csv\\ | %%cat soubor.json | jq -r '.rows | map([.name, .chef_environment, .automatic.os, ('`date +%s`' - .automatic.ohai_time | tostring)] | join(", ")) | join("\n")'%% ... dalsi zpusob prevodu do csv\\ |
%%echo '[{"a": "b"}, {"a": "c"}]' | jq '.[] | .a'%% ... vypise "b" a "c"\\ | %%echo '[{"a": "b"}, {"a": "c"}]' | jq '.[] | .a'%% ... vypise "b" a "c"\\ |
%%echo '[{"a": "b"}, {"a": "c"}]' | jq '.[] | {text: .a}' ... vypise {"text": "b"}, {"text": "c"}\\ | %%echo '[{"a": "b"}, {"a": "c"}]' | jq '.[] | {text: .a}' ... vypise {"text": "b"}, {"text": "c"}%%\\ |
%%echo '[{"a": "b"}, {"a": "c"}]' | jq '[.[] | {text: .a}]' ... vypise [{"text": "b"}, {"text": "c"}]%%\\ | %%echo '[{"a": "b"}, {"a": "c"}]' | jq '[.[] | {text: .a}]' ... vypise [{"text": "b"}, {"text": "c"}]%%\\ |
%%cat az_vm_list-d_live.json | jq -r '.[] | select(.storageProfile.osDisk.osType == "Windows") | "\(.name)\t'%% ... vybirani jen urcitych zaznamu, formatovani na vystup\\ | %%cat az_vm_list-d_live.json | jq -r '.[] | select(.storageProfile.osDisk.osType == "Windows") | "\(.name)\t'%% ... vybirani jen urcitych zaznamu, formatovani na vystup\\ |
| |
====Spojovani JSON souboru==== | ====Spojovani JSON souboru==== |
jq -s add soubor1.json soubor2.json ... spoji/slouci 2 a vice json souboru. Respektuje strukturu objektu\\ | %%jq -s add soubor1.json soubor2.json ... spoji/slouci 2 a vice json souboru. Respektuje strukturu objektu%%\\ |
jq -s . ... spoji vstupujici objekdy do pole (1. objekt pole = 1. objekt/soubor, 2. objekt pole = 2. objekt/soubor, ...)\\ | %%jq -s . ... spoji vstupujici objekdy do pole (1. objekt pole = 1. objekt/soubor, 2. objekt pole = 2. objekt/soubor, ...)%%\\ |
jq '.[]' soubor1.json soubor2.json ... spoji json objekty. [{soubor1.objekt1}], [{soubor1.objekt2}], ... [{soubor2.objekt1}], ...\\ | %%jq '.[]' soubor1.json soubor2.json ... spoji json objekty. [{soubor1.objekt1}], [{soubor1.objekt2}], ... [{soubor2.objekt1}], ...%%\\ |
jq -s . soubor1.json soubor2.json ... spoji json objekty. [[{soubor1.objekt1}, {soubor1.objekt2}, ...], [{soubor2.objekt1}, ...]]\\ | %%jq -s . soubor1.json soubor2.json ... spoji json objekty. [[{soubor1.objekt1}, {soubor1.objekt2}, ...], [{soubor2.objekt1}, ...]]%%\\ |
jq --slurp "[.[] | .[]" 1.json 2.json ... spoji json objekty. [{soubor1.objekt1}, {soubor1.objekt2}, ... {soubor2.objekt1}, ...]\\ | %%jq --slurp "[.[] | .[]" 1.json 2.json ... spoji json objekty. [{soubor1.objekt1}, {soubor1.objekt2}, ... {soubor2.objekt1}, ...]%%\\ |
| |
====Konverze typu==== | ====Konverze typu==== |
echo '[{"number": 1, "string": "one"}]' | jq '.[] | .string + ": " + (.number|tostring)' ... prevede objekt .number na text\\ | %%echo '[{"number": 1, "string": "one"}]' | jq '.[] | .string + ": " + (.number|tostring)'%% ... prevede objekt .number na text\\ |
echo '[{"number": 1, "string": "one"}]' | jq -r '.[] | [ .string, .number|tostring ] | join(": ")' ... dalsi moznost toho sameho\\ | %%echo '[{"number": 1, "string": "one"}]' | jq -r '.[] | [ .string, .number|tostring ] | join(": ")'%% ... dalsi moznost toho sameho\\ |
| |
K | |
====Konverze TXT na JSON==== | ====Konverze TXT na JSON==== |
jq '. | split("\n") | map( {value: .} ) | {rules: .} ' -R -s rules.txt ... vytvori json strukturu, kde .rules je pole objektu s klicem "value" a hodnotou daneho radku TXT souboru\\ | %%jq '. | split("\n") | map( {value: .} ) | {rules: .} ' -R -s rules.txt%% ... vytvori json strukturu, kde .rules je pole objektu s klicem "value" a hodnotou daneho radku TXT souboru\\ |
jq '. | split("\n") | map( split("\t") | {value: .[0], tag: .[1]} ) | {rules: .} ' -R -s rules.txt ... z txt kazdy radek rozdeli podle tabulatoru a zapise to json (1. hodnota jde do .rules.value, druha do .rules.key\\ | %%jq '. | split("\n") | map( split("\t") | {value: .[0], tag: .[1]} ) | {rules: .} ' -R -s rules.txt%% ... z txt kazdy radek rozdeli podle tabulatoru a zapise to json (1. hodnota jde do .rules.value, druha do .rules.key\\ |
| |
| |
| |