Traitement résultat colonne à convertir en ligne

bob737 Messages postés 157 Statut Membre -  
zipe31 Messages postés 34620 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

5 réponses

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    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
  2. 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
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      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
  3. bob737
     
    ça marche nickel. Merci.

    EDIT: Mince, ça fonctionne en shell mais pas en bash.
    une idée?
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Quel système ?
      Quelle distribution ?
      Quel shell (natif) ?
      Quel interpréteur de commande (shebang) dans ton script ?
      0
  4. 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
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Linux slpifrsarcnx1
      C'est quoi ce truc ?
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. 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
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Bizarre ;-\
      0