J'ai un fichier csv qui contient une liste de 600 numéros au format suivant
442030580306
442030580307
J'en ai besoin pour sortir le fichier dans un long fichier comme ci-dessous en lisant les chiffres ci-dessus
"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
}
},
Des idées sur la meilleure façon d'y parvenir ?
Réponse acceptée :
Quand on veut éventuellement obtenir une donnée JSON – jq est le bon outil :
numbers.csv
contenu du fichier :
442030580306
442030580307
jq solution :
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
La sortie :
{
"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
– en attribuant la phrase courante"new-request-uri-user-part:"
en variable$pfx
-
reduce [.[]|tostring][] as $n ({}; ...)
– effectuer l'opération de réduction sur la liste des nombres saisis