Concaténer des bouts de fichiers sur un "ID"

Résolu/Fermé
jil - 1 mai 2012 à 10:29
 jil - 4 mai 2012 à 15:16
Salut tout le monde,

je souhaiterai pouvoir faire un truc assez particulier avec deux fichiers qui sont trop gros pour Excel.

Voilà le topo :

j'ai un fichier avec une centaine de colonnes, répertoriant des espèces animales à des stations de mesures.

Par exemple : station 1 ; ours ; lynx ; girafe ; ... etc
dans chaque case pour les espèces il y a une valeur numérique qui dit si l'espèce est présente ou non (ou autres, du genre "éteinte" etc).

Le "problème" c'est que j'ai plusieurs lignes pour une station, qui correspond à une date différente, par exemple :

ID_station_1 ; date 1 ; ours ; lynx ; girafe ; ... etc
ID_station_1 ; date 2 ; ours ; lynx ; girafe ; ... etc
ID_station_1 ; date 3 ; ours ; lynx ; girafe ; ... etc

ID_station_2 ; date 7 ; ours ; lynx ; girafe ; ... etc
ID_station_2 ; date 8 ; ours ; lynx ; girafe ; ... etc


ID_station_3 ; date 1 ; ours ; lynx ; girafe ; ... etc
ID_station_4 ; date 8 ; ours ; lynx ; girafe ; ... etc

J'ai du déstructurer (c'est vraiment nécessaire) ce fichier pour avoir un truc plus "simple" (qui va servir à construire des fichiers plus complexes sur requêtes par la suite), en l'occurrence j'ai pris que les colonnes "espèces" et l'ID de la station :

ID_station_1 ; ours ;
ID_station_1 ; lynx ;
ID_station_1 ; girafe ;
...
ID_station_1 ; ours ;
ID_station_1 ; lynx ;
ID_station_1 ; girafe ;
...
ID_station_2 ; ours ;
ID_station_2 ; lynx ;
ID_station_2 ; girafe ;
...

Donc avec une ligne pour une observation d'une seule espèce à une seule date donnée.
S'il y a N espèces, il y aura N fois chaque station. Si cette station a été échantillonnée sur D dates différentes, il y aura D*N lignes pour cette station.


Du coup ça fait moult lignes et mon tableur... y veut plus rien savoir. J'ai donc ça dans un fichier texte tout simple. On a extrait parmi les données du fichier de base, les données clés, à l'aide du logiciel R. Mais on a pas tout fait, on s'est juste préoccupés des colonnes espèces et des stations.

Ma grande question maintenant si vous avez pu suivre jusqu'ici, c'est :
comment puis-je recoller les autres colonnes, celles qui correspondent à mon "... etc" au début (il y en avait une 100 aine vous vous rappelez ?) correspondantes à chaque ligne de mon nouveau fichier ?

J'ai mon "ID_station" identique sur les deux fichiers, je pense m'en servir comme "clé" sur laquelle venir attacher les autres données mais je ne sais pas quel outil utiliser pour ça...
Je pensais à une commande Linux justement (d'où le placement de ce sujet ici)

Je sais aussi que ces valeurs vont être redondantes autant de fois qu'il y a d'espèces et de dates (D*N) mais il faut que je fasse ça.

Merci beaucoup...
A voir également:

16 réponses

dubcek Messages postés 18767 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 5 mars 2025 5 628
1 mai 2012 à 11:53
hello
si je comprends, à partir de chaque ligne du 2ème fichier :
IDn ; animal
tu veux obtenir :
ID1, date1, animal ; ...etc
ID1, date2, animal; ...etc
...
ID2; date1; animal;...etc
ID2; date2 ; animal ; ...etc
etc
1
Salut, et merci pour ta réponse ;) !

oui c'est cela.

En fait, dans le premier fichier, une ligne correspondait à une observation, à une station et à une date. Donc parfois, une station pouvait être "dupliquée" sur plusieurs lignes à elle toute seule, car elle a été échantillonnée à plusieurs dates différentes, le reste des 100 colonnes contiennent, pour environ 40 ; les espèces, et pour le reste ; des données autres, la méthode de comptage, etc etc.

Dans le deuxième fichier on a vraiment fait en sorte d'avoir des "blocs" qui font autant de lignes qu'il y a d'espèces, donc environ 40, et chaque bloc correspond à une ligne du premier fichier, mais avec les espèces en lignes au lieu d'être en colonnes. Donc un bloc correspond à une station et une date précise.

Sauf que dans ce fichier on a "que" les espèces et les ID des stations (qui se répètent 40 fois) et il faudrait remettre les variables des 100 autres colonnes du premier fichier sur chaque ligne du second fichier.

Donc en gros, on aura pour chaque "bloc" de 40 lignes, 40x les mêmes informations qui se répètent, mais c'est ce qu'on cherche justement.
1
dubcek Messages postés 18767 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 5 mars 2025 5 628
1 mai 2012 à 15:19
j'ai ajouté des chiffres en fin de ligne pour les différencier.
est ce que ca serait ça, sachant que les colonnes en gras doivent être enlevées
$ head a5 a6
==> a5 <==
ID_station_1 ; date 1 ; ours ; lynx ; girafe ; ... etc;1;1
ID_station_1 ; date 2 ; ours ; lynx ; girafe ; ... etc;2;2
ID_station_1 ; date 3 ; ours ; lynx ; girafe ; ... etc;3;3

ID_station_2 ; date 7 ; ours ; lynx ; girafe ; ... etc;4;4
ID_station_2 ; date 8 ; ours ; lynx ; girafe ; ... etc;5;5

ID_station_3 ; date 1 ; ours ; lynx ; girafe ; ... etc;6;6
ID_station_4 ; date 8 ; ours ; lynx ; girafe ; ... etc;7;7

==> a6 <==
ID_station_1 ; ours ;
ID_station_1 ; lynx ;
ID_station_1 ; girafe ;
...
ID_station_1 ; ours ;
ID_station_1 ; lynx ;
ID_station_1 ; girafe ;
...
ID_station_2 ; ours ;
ID_station_2 ; lynx ;
$ awk -F";" -v OFS=';' 'FNR==NR {x[$1, $2]=$0;next} {for(n in x){if($1==substr(n, 0, index(n, SUBSEP)-1))print $0  x[n] }}' a5 a6 
ID_station_1 ; ours ;ID_station_1 ; date 1 ; ours ; lynx ; girafe ; ... etc;1;1
ID_station_1 ; ours ;ID_station_1 ; date 2 ; ours ; lynx ; girafe ; ... etc;2;2
ID_station_1 ; ours ;ID_station_1 ; date 3 ; ours ; lynx ; girafe ; ... etc;3;3
ID_station_1 ; lynx ;ID_station_1 ; date 1 ; ours ; lynx ; girafe ; ... etc;1;1
ID_station_1 ; lynx ;ID_station_1 ; date 2 ; ours ; lynx ; girafe ; ... etc;2;2
ID_station_1 ; lynx ;ID_station_1 ; date 3 ; ours ; lynx ; girafe ; ... etc;3;3
ID_station_1 ; girafe ;ID_station_1 ; date 1 ; ours ; lynx ; girafe ; ... etc;1;1
ID_station_1 ; girafe ;ID_station_1 ; date 2 ; ours ; lynx ; girafe ; ... etc;2;2
ID_station_1 ; girafe ;ID_station_1 ; date 3 ; ours ; lynx ; girafe ; ... etc;3;3
ID_station_1 ; ours ;ID_station_1 ; date 1 ; ours ; lynx ; girafe ; ... etc;1;1
ID_station_1 ; ours ;ID_station_1 ; date 2 ; ours ; lynx ; girafe ; ... etc;2;2
ID_station_1 ; ours ;ID_station_1 ; date 3 ; ours ; lynx ; girafe ; ... etc;3;3
ID_station_1 ; lynx ;ID_station_1 ; date 1 ; ours ; lynx ; girafe ; ... etc;1;1
ID_station_1 ; lynx ;ID_station_1 ; date 2 ; ours ; lynx ; girafe ; ... etc;2;2
ID_station_1 ; lynx ;ID_station_1 ; date 3 ; ours ; lynx ; girafe ; ... etc;3;3
ID_station_1 ; girafe ;ID_station_1 ; date 1 ; ours ; lynx ; girafe ; ... etc;1;1
ID_station_1 ; girafe ;ID_station_1 ; date 2 ; ours ; lynx ; girafe ; ... etc;2;2
ID_station_1 ; girafe ;ID_station_1 ; date 3 ; ours ; lynx ; girafe ; ... etc;3;3
ID_station_2 ; ours ;ID_station_2 ; date 7 ; ours ; lynx ; girafe ; ... etc;4;4
ID_station_2 ; ours ;ID_station_2 ; date 8 ; ours ; lynx ; girafe ; ... etc;5;5
ID_station_2 ; lynx ;ID_station_2 ; date 7 ; ours ; lynx ; girafe ; ... etc;4;4
ID_station_2 ; lynx ;ID_station_2 ; date 8 ; ours ; lynx ; girafe ; ... etc;5;5
ID_station_2 ; girafe ; ID_station_2 ; date 7 ; ours ; lynx ; girafe ; ... etc;4;4
ID_station_2 ; girafe ; ID_station_2 ; date 8 ; ours ; lynx ; girafe ; ... etc;5;5
$ 
1
dubcek Messages postés 18767 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 5 mars 2025 5 628
1 mai 2012 à 16:43
et comme ça ?
$ awk -F";" -v OFS=';' 'FNR==NR {i=$1;$1=$3=$4=$5="";gsub(FS"+",FS); x[i, $2]=$0;sub(FS, "", x[i, $2]); next} {for(n in x){if($1==substr(n, 0, index(n, SUBSEP)-1))print $0  x[n] }}' a5 a6 
ID_station_1 ; ours ; date 1 ; ... etc;1;1
ID_station_1 ; ours ; date 2 ; ... etc;2;2
ID_station_1 ; ours ; date 3 ; ... etc;3;3
ID_station_1 ; lynx ; date 1 ; ... etc;1;1
ID_station_1 ; lynx ; date 2 ; ... etc;2;2
ID_station_1 ; lynx ; date 3 ; ... etc;3;3
ID_station_1 ; girafe ; date 1 ; ... etc;1;1
ID_station_1 ; girafe ; date 2 ; ... etc;2;2
ID_station_1 ; girafe ; date 3 ; ... etc;3;3
ID_station_1 ; ours ; date 1 ; ... etc;1;1
ID_station_1 ; ours ; date 2 ; ... etc;2;2
ID_station_1 ; ours ; date 3 ; ... etc;3;3
ID_station_1 ; lynx ; date 1 ; ... etc;1;1
ID_station_1 ; lynx ; date 2 ; ... etc;2;2
ID_station_1 ; lynx ; date 3 ; ... etc;3;3
ID_station_1 ; girafe ; date 1 ; ... etc;1;1
ID_station_1 ; girafe ; date 2 ; ... etc;2;2
ID_station_1 ; girafe ; date 3 ; ... etc;3;3
ID_station_2 ; ours ; date 7 ; ... etc;4;4
ID_station_2 ; ours ; date 8 ; ... etc;5;5
ID_station_2 ; lynx ; date 7 ; ... etc;4;4
ID_station_2 ; lynx ; date 8 ; ... etc;5;5
ID_station_2 ; girafe ;  date 7 ; ... etc;4;4
ID_station_2 ; girafe ;  date 8 ; ... etc;5;5
$ 
$ 
$ 
1

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

Posez votre question
Okay, alors ouais, l'idée est là je dirai.. elle est même bien là.

j'ai bêtement oublié de préciser que mes données sont dans un fichier au format texte "tab delimited" donc avec tabulation pour délimiter les colonnes, appelons ce fichier "atlas.txt" (j'avais mis des ";" dans mes précédents posts pour montrer la séparation des colonnes mais c'est pas ça qui les sépare ; c'est bien une tabulation)
et sa première ligne contient les entêtes (Nom_station \t Ours \t Lynx \t etc...)
je mets les \t volontairement pour dire qu'il y a une tabulation hein.

L'idéal serait d'enregistrer le résultat de la commande dans un nouveau fichier.
1
dubcek Messages postés 18767 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 5 mars 2025 5 628
2 mai 2012 à 09:53
pour les tabs, remplacer
awk -F";" -v OFS=';' 
par
awk -F"\t" -v OFS='\t' 
pour enregitrer les résultats, ajouter en fin de ligne:
awk ... > resultats.txt
1
Oui merci, j'ai trouvé ça entre temps hier soir... ;-)

par contre le fichier concaténé devrait plutôt ressembler à ça :

ID_station_1 ; ours ; etc;1;1
ID_station_1 ; lynx ; etc;1;1
ID_station_1 ; girafe ; etc;1;1
ID_station_1 ; ours ; etc;2;2
ID_station_1 ; lynx ; etc;2;2
ID_station_1 ; girafe ; etc;2;2
ID_station_1 ; ours ; etc;3;3
ID_station_1 ; lynx ; etc;3;3
ID_station_1 ; girafe ; etc;3;3
ID_station_2 ; ours ; etc;4;4
ID_station_2 ; lynx ; etc;4;4
ID_station_2 ; girafe ; etc;4;4
ID_station_2 ; ours ; etc;5;5
ID_station_2 ; lynx ; etc;5;5
ID_station_2 ; girafe ; etc;5;5
ID_station_3 ; ours ; etc;6;6
ID_station_3 ; lynx ; etc;6;6
ID_station_3 ; girafe ; etc;6;6
ID_station_4 ; ours ; etc;7;7
ID_station_4 ; lynx ; etc;7;7
ID_station_4 ; girafe ; etc;7;7


au lieu de celui qu'on obtient avec ton code, qui possède des lignes à double.
j'ai essayé de comprendre le code... difficile pour un novice.
Y a peut-être une boucle superflue, je sais pas...
1
vordano Messages postés 1685 Date d'inscription mardi 12 juillet 2011 Statut Membre Dernière intervention 20 juillet 2012 316
2 mai 2012 à 10:45
bonjour,

en lisant ta demande, je me suis demandé si tu avais déja pensé a utiliser une bdd pour faciliter ce genre de traitement ?
1
Salut,

une base de données... hum. Oui, laquelle par exemple ?
Je ne m'y connais pas en base de données, c'est peut-être l'occasion d'apprendre comment ça fonctionne.
Tu penses possible de faire ce que je cherche à faire avec une telle base ?
N'y aura-t-il pas de problèmes avec les chaines de caractères (parce que certaines de mes colonnes contiennent des trucs pas tristes....)

merci ;)
1
vordano Messages postés 1685 Date d'inscription mardi 12 juillet 2011 Statut Membre Dernière intervention 20 juillet 2012 316
2 mai 2012 à 11:09
le plus simple (et gratuit) c'est une base mysql
tu as différentes tables permettant de séparer tes données (par exemple une table station, une table espèce, une table animaux, une table température, etc...)

et pour les chaines de caractère, c'est la même chose.

pour faire une base propre, tu pourrais peut être chercher quelques infos sur "merise"
1
ok... je jette un oeil, je suis entrain de télécharger mysql, c'est bien ça : http://www.mysql.fr/downloads/installer/ pour Windows (je n'ai pas la chance d'être sous Linux au travail)

Bon et bien le cas est réglé pour ça :
"The installer has insufficient privileges to access this directory : C:\Program files\MySQL. The installation cannot continue. Log on as administrator or contact your system administrator.

Je la sentais venir. Je ne peux rien installer en "dur" sur mon poste.
0
vordano Messages postés 1685 Date d'inscription mardi 12 juillet 2011 Statut Membre Dernière intervention 20 juillet 2012 316
2 mai 2012 à 12:46
ah ça c'est dommage.
mais si c'est comme ça, peut être que ton entreprise dispose d'un serveur avec mysql installé dessus. tu peux peut être te renseigner pour que votre administrateur créé une base et que tu ai les droits dessus.

sinon il y as autre chose, plus minimaliste et qui pourrais probablement répondre a ton problème de droit: utiliser sqlite (c'est un genre de mini base de donnée, mais je ne m'en suis jamais servi, donc aucun moyen de savoir si ça s'installe ;) )
0
dubcek Messages postés 18767 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 5 mars 2025 5 628
2 mai 2012 à 12:08
comme ça ?
 $ awk -F';' -v OFS=';' 'NF {x=$0; $2=$4=$5="" ; gsub(FS"+",FS);print ; $0=x ; $2=$3=$5="";gsub(FS"+",FS);print ; $0=x; $2=$3=$4="";gsub(FS"+",FS);print}' a5
ID_station_1 ; ours ; ... etc;1;1
ID_station_1 ; lynx ; ... etc;1;1
ID_station_1 ; girafe ; ... etc;1;1
ID_station_1 ; ours ; ... etc;2;2
ID_station_1 ; lynx ; ... etc;2;2
ID_station_1 ; girafe ; ... etc;2;2
ID_station_1 ; ours ; ... etc;3;3
ID_station_1 ; lynx ; ... etc;3;3
ID_station_1 ; girafe ; ... etc;3;3
ID_station_2 ; ours ; ... etc;4;4
ID_station_2 ; lynx ; ... etc;4;4
ID_station_2 ; girafe ; ... etc;4;4
ID_station_2 ; ours ; ... etc;5;5
ID_station_2 ; lynx ; ... etc;5;5
ID_station_2 ; girafe ; ... etc;5;5
ID_station_3 ; ours ; ... etc;6;6
ID_station_3 ; lynx ; ... etc;6;6
ID_station_3 ; girafe ; ... etc;6;6
ID_station_4 ; ours ; ... etc;7;7
ID_station_4 ; lynx ; ... etc;7;7
ID_station_4 ; girafe ; ... etc;7;7
$ 
1
ça marche presque ça, les 21 premières lignes sont bonnes, mais ensuite il me rajoute jusqu'à la ligne 84, des ID_Station_N ...

Où est-ce qu'il faudra que j'adapte ce code pour prendre en compte les trois petits points qui sont censés représentés encore plein d'autres colonnes ?

Sont-ce les dollars suivi d'un chiffre ?
0
dubcek Messages postés 18767 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 5 mars 2025 5 628
Modifié par dubcek le 3/05/2012 à 10:04
$n veut dire champ (ou colonne) n
$2=$4=$5="" veut dire que j'efface les colonnes 2, 4 et 5. le reste, y compris les ... n'est pas touché, qu'il y ait 3 ou 100 colonnes et affiché tel quel
par ex, avec 1 ligne
$ head -1 a5
ID_station_1 ; date 1 ; ours ; lynx ; girafe ; 1;1;1;1;1;1;1;1;1;1;etc;1;1
$ 
$ awk -F';' -v OFS=';' 'NF {x=$0; $2=$4=$5="" ; gsub(FS"+",FS);print ; $0=x ; $2=$3=$5="";gsub(FS"+",FS);print ; $0=x; $2=$3=$4="";gsub(FS"+",FS);print}' a5|head -4
ID_station_1 ; ours ; 1;1;1;1;1;1;1;1;1;1;etc;1;1
ID_station_1 ; lynx ; 1;1;1;1;1;1;1;1;1;1;etc;1;1
ID_station_1 ; girafe ; 1;1;1;1;1;1;1;1;1;1;etc;1;1
ID_station_1 ; ours ; ... etc;2;2
$ 
$ 
0
Bonjour !
Ok merci pour ces explications...

sauf que je pige pas encore tout : par exemple, comment est-ce que le programme sait que telle partie doit traiter le fichier 1 et telle autre le fichier 2 ?

en dehors de ça, j'arrive vraiment pas à adapter le code à mes données :/ c'est terrible...

edit : j'ai pu installer "sqlite portable" je regarde ce que je peux faire avec en parallèle...
> entrain d'importer le premier fichier depuis 45 minutes... j'espère que ça va jouer.... je perds tout espoir après 1h je tue le programme.
0
dubcek Messages postés 18767 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 5 mars 2025 5 628
4 mai 2012 à 12:05
je n'ai pas traité le fichier 2 parce que dans l'exemple de ton post #7, je ne vois plus le rapport entre les 2 fichiers.
peux tu rappeller
le lien entre les 2.
0
Ok c'est pas grave,
je vais prendre la structure exacte de mes fichiers histoire de rendre la chose plus simple.

Fichier 1 :

"ID" "Vsp" "Vnb"
1 "qwe" ""
1 "ors" ""
1 "arg" ""
1 "baf" ""
1 "bst" 12
1 "bop" ""
1 "baq" ""
1 "cca" NA
1 "cra" ""
1 "cwe" ""
1 "crw" NA
1 "epl" ""
1 "gad" ""
1 "gru" 7
1 "grw" NA
1 "lla" ""
1 "llc" ""
1 "loq" ""
1 "nop" ""
1 "obk" ""
1 "orr" ""
1 "pep" ""
1 "caa" NA
1 "red" ""
1 "sen" NA
1 "sdq" ""
1 "spp" ""
1 "tgn" ""
1 "tff" ""
1 "tlr" NA
1 "trr" ""
1 "vay" ""
1 "vaz" ""
1 "aso" NA
1 "apq" ""
1 "ocr" NA
1 "asr" NA
2 "qwe" 68
2 "ors" ""


etc...
la série continue avec autant de lignes commençant par "2" qu 'il y en avait qui commençaient par 1. Ensuite idem avec 3, 4, jusqu'à D. D avoisinant de mémoire 2500.

Ensuite, fichier 2 :

ID sta_code day month year t z
1 "Sta1"_972/840 17 8 1975 982050.00 846926.50
2 "Sta2"_953/850 0 8 1967 923372.70 890518.10
etc...


Chaque ligne du fichier 2, doit être collée en face des données correspondantes au même ID, dans le fichier 1. Et donc ressembler à ça dans un nouveau fichier :


"ID" "Vsp" "Vnb" sta_code day month year t z
1 "qwe" "" "Sta1"_972/840 17 8 1975 982050.00 846926.50
1 "ors" "" "Sta1"_972/840 17 8 1975 982050.00 846926.50
1 "arg" "" "Sta1"_972/840 17 8 1975 982050.00 846926.50
1 "baf" "" "Sta1"_972/840 17 8 1975 982050.00 846926.50
1 "bst" "" "Sta1"_972/840 17 8 1975 982050.00 846926.50
1 "bop" "" "Sta1"_972/840 17 8 1975 982050.00 846926.50
1 "baq" "" "Sta1"_972/840 17 8 1975 982050.00 846926.50
1 "cca" NA .........................etc !
1 "cra" ""
1 "cwe" ""
1 "crw" NA
1 "epl" ""
1 "gad" ""
1 "gru" ""
1 "grw" NA
1 "lla" ""
1 "llc" ""
1 "loq" ""
1 "nop" ""
1 "obk" ""
1 "orr" ""
1 "pep" ""
1 "caa" NA
1 "red" ""
1 "sen" NA
1 "sdq" ""
1 "spp" ""
1 "tgn" ""
1 "tff" ""
1 "tlr" NA
1 "trr" ""
1 "vay" ""
1 "vaz" ""
1 "aso" NA
1 "apq" ""
1 "ocr" NA
1 "asr" NA
2 "qwe" 68 "Sta2"_953/850 0 8 1967 923372.70 890518.10
2 "ors" "" "Sta2"_953/850 0 8 1967 923372.70 890518.10

etc....
0
dubcek Messages postés 18767 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 5 mars 2025 5 628
Modifié par dubcek le 4/05/2012 à 14:40
essaye
$ awk 'NR==FNR{i=$1 ; $1="" ;x[i]=$0 ; next}{print $0, x[$1]}' fichier2 fchier1 
ID" "Vsp" "Vnb"  
1 "qwe" ""  "Sta1"_972/840 17 8 1975 982050.00 846926.50 
1 "ors" ""  "Sta1"_972/840 17 8 1975 982050.00 846926.50 
1 "arg" ""  "Sta1"_972/840 17 8 1975 982050.00 846926.50 
1 "baf" ""  "Sta1"_972/840 17 8 1975 982050.00 846926.50 
1 "bst" 12  "Sta1"_972/840 17 8 1975 982050.00 846926.50 
... 
1 "ocr" NA  "Sta1"_972/840 17 8 1975 982050.00 846926.50
1 "asr" NA  "Sta1"_972/840 17 8 1975 982050.00 846926.50
2 "qwe" 68  "Sta2"_953/850 0 8 1967 923372.70 890518.10
2 "ors" ""  "Sta2"_953/850 0 8 1967 923372.70 890518.10
$   
0
Alors cette commande : awk 'NR==FNR{i=$1 ; $1="" ;x[i]=$0 ; next}{print $0, x[$1]}' fichier2 fchier1 fonctionne bien oui, super, merci pour ta patience... Le plus dur reste à faire : comprendre comment ça marche, mais ça, il n'y a que moi qui puisse faire quelque chose ^^

En attendant ça m'aura fait découvrir cygwin, R, et sqlite :-)

Je coche comme résolu. (edit : ah et bien en tant que simple visiteur je ne peux pas en fait. Si un modérateur aurait envie de passer le sujet en résolu, il le peut.)
Et vous souhaite un excellent week-end.
0