Traitement résultat colonne à convertir en ligne

bob737 Messages postés 157 Statut Membre -  
zipe31 Messages postés 38797 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai un résultat qui me donne:
chaine1 toto
chaine2 titi
chaine3 tata

J'aimerais récupérer le résultat en

"toto","titi","tata".

Merci d votre aide.

Configuration: Windows / Chrome 79.0.3945.79
A voir également:

5 réponses

zipe31 Messages postés 38797 Date d'inscription   Statut Contributeur Dernière intervention   6 435
 
Salut,

Avant de faire quoi que ce soit, il serait bien de voir la ou les commandes qui t'amène/amènent à ce résultat.

0
bob737 Messages postés 157 Statut Membre
 
Bonjour,

En simplifiant:
je fais un appel API par lequel je récupère les informations de snapshot
curl..... -X GET ..... | jq -r '.data[] | "\.date) \(.ids)" > fichier_snapshot.txt
==>
date1 id1
date2 id2
date3 id3
..
..


Je fais un tri par date en ne gardant que les 35 derniers jours sur ces snapshots.

Puis je lance un autre traitement sur les snapshots ayant une date > à 35 jours.
curl .... -d '{"ids" : ["id1","id2","id3"....]}' https:....

Merci.
0
zipe31 Messages postés 38797 Date d'inscription   Statut Contributeur Dernière intervention   6 435
 
Merci.

$ for i in toto titi tata tutu; do echo "${i}"; done
toto
titi
tata
tutu


$ for i in toto titi tata tutu; do echo "${i}"; done | sed ':z;N;$!bz;s/.*/"&"/Mg;s/\n/,/g'
"toto","titi","tata","tutu"


Je ne peux te garantir que ça marche pareil chez toi, n'ayant pas la vraie sortie pour tester… donc à adapter pour tes besoin ;-)
0
bob737
 
ça marche nickel. Merci.

EDIT: Mince, ça fonctionne en shell mais pas en bash.
une idée?
0
zipe31 Messages postés 38797 Date d'inscription   Statut Contributeur Dernière intervention   6 435
 
Quel système ?
Quelle distribution ?
Quel shell (natif) ?
Quel interpréteur de commande (shebang) dans ton script ?
0
bob737
 
Hello,

Linux slpifrsarcnx1 3.10.0-1062.1.2.el7.x86_64 #1 SMP Mon Sep 16 14:19:51 EDT 2019 x86_64 x86_64 x86_64 GNU/Linux

interpréteur de commande
#!/bin/bash
0
zipe31 Messages postés 38797 Date d'inscription   Statut Contributeur Dernière intervention   6 435
 
Linux slpifrsarcnx1
C'est quoi ce truc ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bob737
 
Finalement, ça fonctionne combinant 2 sed

for i in `cat $RUBRIKTMP/${VMNAME}_35.tmp`
do
echo "${i}"
done | sed 's/.*/"&"/Mg' | sed ':a;N;$!ba;s/\n/;/g'

"5b3f29e1-f685-4ff0-8cd0-389e5eb08e8c";"5b3f29e1-f685-4ff0-8cd0-389e5eb08e8c"

:-)
0
zipe31 Messages postés 38797 Date d'inscription   Statut Contributeur Dernière intervention   6 435
 
Bizarre ;-\
0