Script shell et awk

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

  • Votes
  • Date
  • Date décroissante
  1. Bonjour et merci.

    Ok et une fois que les nom1,2 et 3 ont été lu?
    1. Contributeur
      le print les affiche séparés par <espace>, pour les séparer par , utiliser ","
      1. 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.