Script shell et awk [Fermé]

Messages postés
558
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
19 juin 2019
-
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.
Afficher la suite 

5 réponses

Messages postés
17779
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
23 juillet 2019
4395
0
Merci
hello
oui mais il faut avoir lu nom1 2 et 3 avant
Messages postés
558
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
19 juin 2019
16
0
Merci
Bonjour et merci.

Ok et une fois que les nom1,2 et 3 ont été lu?
Messages postés
17779
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
23 juillet 2019
4395
0
Merci
le print les affiche séparés par <espace>, pour les séparer par , utiliser ","
Messages postés
558
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
19 juin 2019
16
0
Merci
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.
Messages postés
17779
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
23 juillet 2019
4395
0
Merci
montre des données avant - après