Script shell et awk

Fermé
pcsystemd Messages postés 702 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 6 novembre 2024 - Modifié par pcsystemd le 13/10/2014 à 16:15
dubcek Messages postés 18758 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 24 décembre 2024 - 14 oct. 2014 à 14:50
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.
A voir également:

5 réponses

dubcek Messages postés 18758 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 24 décembre 2024 5 623
Modifié par dubcek le 14/10/2014 à 08:34
hello
oui mais il faut avoir lu nom1 2 et 3 avant
0
pcsystemd Messages postés 702 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 6 novembre 2024 23
14 oct. 2014 à 10:17
Bonjour et merci.

Ok et une fois que les nom1,2 et 3 ont été lu?
0
dubcek Messages postés 18758 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 24 décembre 2024 5 623
14 oct. 2014 à 10:59
le print les affiche séparés par <espace>, pour les séparer par , utiliser ","
0
pcsystemd Messages postés 702 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 6 novembre 2024 23
14 oct. 2014 à 13:39
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

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

Posez votre question
dubcek Messages postés 18758 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 24 décembre 2024 5 623
14 oct. 2014 à 14:50
montre des données avant - après
0