Script shell et awk
Bonjour,
J'ai un script Bash avec ceci:
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:
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 :
Est ce possible?
Merci.
L'accès au savoir est la première liberté que chaque homme devrait avoir.
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
-
Contributeurmontre des données avant - après
-
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.
-
Contributeurle print les affiche séparés par <espace>, pour les séparer par , utiliser ","
-
Bonjour et merci.
Ok et une fois que les nom1,2 et 3 ont été lu?
-
Contributeurhello
oui mais il faut avoir lu nom1 2 et 3 avant