次の形式の600個の数値のリストを含むCSVファイルがあります。
442030580306
442030580307
以下のように上記の数字を読み、ファイルを長いファイルとして出力する場合に必要です。
"new-request-uri-user-part:442030580306": {
"query_string": {
"query": "new-request-uri-user-part:442030580306",
"analyze_wildcard": true
}
},
"new-request-uri-user-part:442030580307": {
"query_string": {
"query": "new-request-uri-user-part:442030580307",
"analyze_wildcard": true
}
},
これを最もよく達成する方法についてのアイデアはありますか?
ベストアンサー1
ついにJSONデータを取得したいとき -ジャックこれに適したツールです。
numbers.csv
文書の内容:
442030580306
442030580307
ジャック解決策:
jq -s '"new-request-uri-user-part:" as $pfx | reduce [.[]|tostring][] as
$n ({}; .[($pfx + $n)] |= {"query_string": {"query": ($pfx + $n), "analyze_wildcard": true }})' numbers.csv
出力:
{
"new-request-uri-user-part:442030580306": {
"query_string": {
"query": "new-request-uri-user-part:442030580306",
"analyze_wildcard": true
}
},
"new-request-uri-user-part:442030580307": {
"query_string": {
"query": "new-request-uri-user-part:442030580307",
"analyze_wildcard": true
}
}
}
"new-request-uri-user-part:" as $pfx
-"new-request-uri-user-part:"
変数に共通のフレーズを割り当てる$pfx
reduce [.[]|tostring][] as $n ({}; ...)
- 入力された数値リストに対して縮小操作を実行します。