Script shell et awk

pcsystemd Messages postés 734 Statut Membre -  
dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai un script Bash avec ceci:

select a.id,b.nomdivers from matable a inner join autretable b on b.ref=a.id;


La requette ci dessus donne comme résultat :

id | nomdivers
----+------------------
1 | nom1
1 | nom2
1 | nom3
etc...

J'utilise pour afficher les valeurs AWK comme ceci:
awk -F'|' '{ print "<id>"$1"</id>\n<nomdivers><![CDATA["$2"]]></nomdivers>" }' >> file.txt


Sachant que pour le même "id" on peut avoir de 1 a x valeurs de "nomdivers", je souhaiterais concaténer ces valeurs comme ceci :
awk -F'|' '{ print "<id>"$1"</id>\n<nomdivers><![CDATA["nom1,nom2,nom3,etc.."]]></nomdivers>" }'


Est ce possible?

Merci.



L'accès au savoir est la première liberté que chaque homme devrait avoir.

5 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    oui mais il faut avoir lu nom1 2 et 3 avant
    0
  2. pcsystemd Messages postés 734 Statut Membre 23
     
    Bonjour et merci.

    Ok et une fois que les nom1,2 et 3 ont été lu?
    0
  3. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    le print les affiche séparés par <espace>, pour les séparer par , utiliser ","
    0
  4. pcsystemd Messages postés 734 Statut Membre 23
     
    Ma question porte plus sur la façon de récupérer les valeurs multiples puis de les afficher(faire une boucle peut être) plus que sur le séparateur.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    montre des données avant - après
    0