Traitement résultat colonne à convertir en ligne

Fermé
bob737 Messages postés 144 Date d'inscription jeudi 24 septembre 2009 Statut Membre Dernière intervention 14 mars 2024 - Modifié le 16 déc. 2019 à 09:01
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 17 déc. 2019 à 11:17
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 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
16 déc. 2019 à 08:22
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 144 Date d'inscription jeudi 24 septembre 2009 Statut Membre Dernière intervention 14 mars 2024
16 déc. 2019 à 09:01
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 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
Modifié le 16 déc. 2019 à 09:07
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
ça marche nickel. Merci.

EDIT: Mince, ça fonctionne en shell mais pas en bash.
une idée?
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
17 déc. 2019 à 10:54
Quel système ?
Quelle distribution ?
Quel shell (natif) ?
Quel interpréteur de commande (shebang) dans ton script ?
0
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 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
17 déc. 2019 à 11:17
Linux slpifrsarcnx1
C'est quoi ce truc ?
0

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

Posez votre question
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 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
17 déc. 2019 à 11:17
Bizarre ;-\
0