Concaténation
Résolu/Fermé
tht123
Messages postés
72
Date d'inscription
mardi 8 mai 2007
Statut
Membre
Dernière intervention
10 janvier 2009
-
30 mai 2007 à 22:43
tht123 Messages postés 72 Date d'inscription mardi 8 mai 2007 Statut Membre Dernière intervention 10 janvier 2009 - 31 mai 2007 à 20:40
tht123 Messages postés 72 Date d'inscription mardi 8 mai 2007 Statut Membre Dernière intervention 10 janvier 2009 - 31 mai 2007 à 20:40
A voir également:
- Concaténation
- Concaténation pdf - Guide
- Excel concatenation - Guide
- Word concatenation - Forum Word
- Concatenation access - Forum Access
- Concaténer deux champs dans un troisième [Access 2003] - Forum Access
11 réponses
mamiemando
Messages postés
33079
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
23 avril 2024
7 749
31 mai 2007 à 01:29
31 mai 2007 à 01:29
Personnellement je ne suis pas sûre d'avoir compris ce que tu veux faire, peux-tu donner un exemple ?
Bonne chance
Bonne chance
tht123
Messages postés
72
Date d'inscription
mardi 8 mai 2007
Statut
Membre
Dernière intervention
10 janvier 2009
31 mai 2007 à 08:25
31 mai 2007 à 08:25
Bonjour désolé du manque de clareté :
Exemple:
Fich1:
Ref01 1234 7896 9516
Ref02 4564 4475 5787
Ref03 2134 7899 4237
Fich2:
Ref01 1234 7896 9516
Ref03 12374 4447 9999
Ref04 1234 4567 9874
Après concaténation dans Fich :
Ref01 1234 7896 9516
Ref02 4564 4475 5787
Ref03 12374 4447 9999
Ref04 1234 4567 9874
DONC, ici fich2 à mis à jour fich1 en écrassant déjà les données existantes (Refxx). En fait Refxx est le point commun et les valeurs associées changent dans le temps.==> MAJ
Est-ce pluis clair?
Exemple:
Fich1:
Ref01 1234 7896 9516
Ref02 4564 4475 5787
Ref03 2134 7899 4237
Fich2:
Ref01 1234 7896 9516
Ref03 12374 4447 9999
Ref04 1234 4567 9874
Après concaténation dans Fich :
Ref01 1234 7896 9516
Ref02 4564 4475 5787
Ref03 12374 4447 9999
Ref04 1234 4567 9874
DONC, ici fich2 à mis à jour fich1 en écrassant déjà les données existantes (Refxx). En fait Refxx est le point commun et les valeurs associées changent dans le temps.==> MAJ
Est-ce pluis clair?
tht123
Messages postés
72
Date d'inscription
mardi 8 mai 2007
Statut
Membre
Dernière intervention
10 janvier 2009
31 mai 2007 à 09:01
31 mai 2007 à 09:01
Bonjour désolé du manque de clareté :
Exemple:
Fich1:
Ref01 1234 7896 9516
Ref02 4564 4475 5787
Ref03 2134 7899 4237
Fich2:
Ref01 1234 7896 9516
Ref03 12374 4447 9999
Ref04 1234 4567 9874
Après concaténation dans Fich :
Ref01 1234 7896 9516
Ref02 4564 4475 5787
Ref03 12374 4447 9999
Ref04 1234 4567 9874
DONC, ici fich2 à mis à jour fich1 en écrassant déjà les données existantes (Refxx). En fait Refxx est le point commun et les valeurs associées changent dans le temps.==> MAJ
Est-ce pluis clair?
Exemple:
Fich1:
Ref01 1234 7896 9516
Ref02 4564 4475 5787
Ref03 2134 7899 4237
Fich2:
Ref01 1234 7896 9516
Ref03 12374 4447 9999
Ref04 1234 4567 9874
Après concaténation dans Fich :
Ref01 1234 7896 9516
Ref02 4564 4475 5787
Ref03 12374 4447 9999
Ref04 1234 4567 9874
DONC, ici fich2 à mis à jour fich1 en écrassant déjà les données existantes (Refxx). En fait Refxx est le point commun et les valeurs associées changent dans le temps.==> MAJ
Est-ce pluis clair?
mamiemando
Messages postés
33079
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
23 avril 2024
7 749
31 mai 2007 à 09:52
31 mai 2007 à 09:52
Yep j'ai compris. Autres questions :
- est ce que les références sont forcément triées par ordre croissant dans les fichiers ?
- est ce que tu veux absolument le faire en shell ou on peut utiliser d'autres langages ?
- est ce que les références sont forcément triées par ordre croissant dans les fichiers ?
- est ce que tu veux absolument le faire en shell ou on peut utiliser d'autres langages ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
tht123
Messages postés
72
Date d'inscription
mardi 8 mai 2007
Statut
Membre
Dernière intervention
10 janvier 2009
31 mai 2007 à 10:03
31 mai 2007 à 10:03
Pour le references, si ça simplifie on peut les avoir dans l'ordre !
Perso, j'aimerai mieu avec awk,sed,, ou grep ...
Ok?
Perso, j'aimerai mieu avec awk,sed,, ou grep ...
Ok?
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 567
31 mai 2007 à 11:31
31 mai 2007 à 11:31
Salut,
vu ton message N° 3 alors tu peux faire comme ça
1. sauvegarde de fichier2
vu ton message N° 3 alors tu peux faire comme ça
1. sauvegarde de fichier2
cp fichier2 fichier2.save2. créer le patch
diff -c fichier2 fichier1 > patch.fic3. mise à jour de fichier2
patch < patch.ficet le fichier2 sera à jour
tht123
Messages postés
72
Date d'inscription
mardi 8 mai 2007
Statut
Membre
Dernière intervention
10 janvier 2009
31 mai 2007 à 13:22
31 mai 2007 à 13:22
Salut,
est tu sur de la dernière ligne car patch n'est pas un executable dans cygwin!?!
BAT
est tu sur de la dernière ligne car patch n'est pas un executable dans cygwin!?!
BAT
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 567
31 mai 2007 à 14:54
31 mai 2007 à 14:54
Je suis très sûr puisque j'ai testé sur debian, voilà pourquoi il faut préciser la configuration :-))
affiche le résultat de la commande
lami20j
affiche le résultat de la commande
whereis patch--
lami20j
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
31 mai 2007 à 16:04
31 mai 2007 à 16:04
Salut,
Voilà une solution avec "sed, grep, sort et uniq".
Seule contrainte il faut que le champ de référence soit toujours égal en longueur (au pire on pourra toujours essayer de l'adapter à ton cas).
Autre contrainte, ça marche dans un environnement GNU/Linux, si tu as des difficultés à le faire exécuter sous Cygwin, il va falloir grandement penser à migrer au plus vite sous le pingouin, d'autant plus que tu t'obstines à te servir de commandes GNU/Linux, donc pourquoi ne pas faire le grand saut, et au cas où ce ne te serait pas possible, essayer d'adopter un pingouin ne serait-ce que dans une machine virtuelle... à méditer, non ?
Bon le script :
Voilà une solution avec "sed, grep, sort et uniq".
Seule contrainte il faut que le champ de référence soit toujours égal en longueur (au pire on pourra toujours essayer de l'adapter à ton cas).
Autre contrainte, ça marche dans un environnement GNU/Linux, si tu as des difficultés à le faire exécuter sous Cygwin, il va falloir grandement penser à migrer au plus vite sous le pingouin, d'autant plus que tu t'obstines à te servir de commandes GNU/Linux, donc pourquoi ne pas faire le grand saut, et au cas où ce ne te serait pas possible, essayer d'adopter un pingouin ne serait-ce que dans une machine virtuelle... à méditer, non ?
Bon le script :
[jp@MDK tmpfs]$ cat Fich1 Ref01 1234 7896 9516 Ref02 4564 4475 5787 Ref03 2134 7899 4237 [jp@MDK tmpfs]$ cat Fich2 Ref01 1234 7896 9516 Ref03 12374 4447 9999 Ref04 1234 4567 9874 [jp@MDK tmpfs]$ cat foo.sh #! /bin/bash sed -n '/^$/!p' Fich1 Fich2 | sort | uniq > Fich while read line do ref=$(cut -d " " -f1 <<<"$line") var=$(grep "$ref" Fich1) sed -i '/'"$var"'/d' Fich done < <(sed -n '/^$/!p' Fich1 Fich2 | sort | uniq | uniq -w6 -d) [jp@MDK tmpfs]$ ./foo.sh [jp@MDK tmpfs]$ cat Fich Ref01 1234 7896 9516 Ref02 4564 4475 5787 Ref03 12374 4447 9999 Ref04 1234 4567 9874 [jp@MDK tmpfs]$;-))
tht123
Messages postés
72
Date d'inscription
mardi 8 mai 2007
Statut
Membre
Dernière intervention
10 janvier 2009
31 mai 2007 à 19:23
31 mai 2007 à 19:23
YESYESYESYESY
YOUPIIIIIIIII
Là tu fais fort, il sagisait bien du caratère de fin de ligne!
Merci encore
YOUPIIIIIIIII
Là tu fais fort, il sagisait bien du caratère de fin de ligne!
Merci encore
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
31 mai 2007 à 19:30
31 mai 2007 à 19:30
Tu ne te serais pas trompé de post par hasard ??? ;-))
tht123
Messages postés
72
Date d'inscription
mardi 8 mai 2007
Statut
Membre
Dernière intervention
10 janvier 2009
31 mai 2007 à 20:40
31 mai 2007 à 20:40
NON!
Je viens de revérifier et j'ai bien mont fichier concaténé!
Ref01 1234 7896 9516
Ref02 4564 4475 5787
Ref03 12374 4447 9999
Ref04 1234 4567 9874
BAT t'as une idée pour l'autre post?
Je viens de revérifier et j'ai bien mont fichier concaténé!
Ref01 1234 7896 9516
Ref02 4564 4475 5787
Ref03 12374 4447 9999
Ref04 1234 4567 9874
BAT t'as une idée pour l'autre post?