Concaténer deux fichiers si même pattern dans un troisième

Fermé
bob737 - 9 mars 2016 à 11:05
dubcek Messages postés 18757 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 19 décembre 2024 - 9 mars 2016 à 15:43
Bonjour,

Je viens vers vous car je m'arrache les cheveux sur un ksh.

J'ai un fichier REF qui contient les champs suivants:
Groupe1;toto;***@***
Groupe2;toto;***@***
Groupe3;titi;***@***

Pour chaque ligne, il y a un 3 fichiers associés.
Groupe1.stock.csv
Groupe1.flux.csv
Groupe1.flux_detail.csv

Groupe2.stock.csv
Groupe2.flux.csv
Groupe2.flux_detail.csv

Groupe3.stock.csv
Groupe3.flux.csv
Groupe3.flux_detail.csv

Je voudrais concaténer les fichiers GroupeX.stock.csv et GroupeX.flux.csv et GroupeX.flux_detail.csv si et seulement le mail du troisième champ REF est identique. Dans mon exemple les deux 1ère ligne du champ REF.

Merci de votre aide.
A voir également:

6 réponses

Utilisateur anonyme
9 mars 2016 à 12:13
Bonjour,

Dans quel langage?
0
bob737 Messages postés 144 Date d'inscription jeudi 24 septembre 2009 Statut Membre Dernière intervention 14 mars 2024
9 mars 2016 à 12:28
pardon ksh.
0
bob737 Messages postés 144 Date d'inscription jeudi 24 septembre 2009 Statut Membre Dernière intervention 14 mars 2024
9 mars 2016 à 12:30
Je me dis qu'il y a quelque chose à faire avec awk plutôt que de me lancer dans des boucles...
0
Salut,

si et seulement le mail du troisième champ REF est identique.
Identique à quoi ?

Dans mon exemple les deux 1ère ligne du champ REF.
Oui, et ???
0

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

Posez votre question
bob737 Messages postés 144 Date d'inscription jeudi 24 septembre 2009 Statut Membre Dernière intervention 14 mars 2024
9 mars 2016 à 12:42
ok, je n'avais pas vu que les adresses mail avaient été remplacées par des "**" en publiant. Désolé.
Groupe1;toto;mail_de_toto
Groupe2;toto;mail_de_toto
Groupe3;titi;mail_de_titi

Donc je souhaite concaténer les fichiers de Goupe1 et Groupe2.
Merci.
0
dubcek Messages postés 18757 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 19 décembre 2024 5 623
9 mars 2016 à 15:43
hello
quelque chose comme ça ?
$ awk -F ";" '{t[$3]=t[$3] " " $1 ".*.csv"; s[$3]++} END {for (n in t)if(s[n]>1)print "cat " t[n] " > Group." n ".csv"}' REF
cat Groupe1.*.csv Groupe2.*.csv > Group.mail_de_toto.csv

ajouter
| bash -x
pour exécuter les commandes
0