Rassembler dans un seul fichier des informations dispersées - Shell/Batch - Programmation
Marsh Posté le 02-05-2007 à 14:20:56
C'est un traitement que l'on nomme en anglais "merge" (voir ce nom dans Google).
Il y a mille et une façons de faire ça, parce que les données en entrée peuvent se présenter de mille et une façons différentes.
En général, le plus simple est de trier ses fichiers sur la même clef, puis de faire une boucle pour laquelle on fait avancer le fichier qui contient la plus petite clef. Excel est parfois un outil intéressant pour ce genre de tâche.
Marsh Posté le 02-05-2007 à 16:33:35
Resalut... j'arrive maintenant à encastrer les infos des différents fichiers, sauf que j'ai des \n en trop. Il faudrait un \n uniquement à la fin des lignes extraites du dernier fichier contenant les infos, et des espaces ailleurs... La commande tr ne m'aide pas, puisque la redirection >> vers un fichier que j'utilise ensuite ajoute automatiquement des \n... Je voudrais effectuer un traitement sur le fichier final pour remplacer les \n en trop par des espaces.
Je sais pas si je me fait bien comprendre, exemple de ce que j'ai :
11 12 13
14 15
16
21 22 23
24 25
26
et je voudrais :
11 12 13 14 15 16
21 22 23 24 25 26
Je pense qu'il faut utiliser sed et awk, mais un peu d'aide serait la bienvenue ! Merci.
Marsh Posté le 02-05-2007 à 16:39:01
Oh je suis trop débile... c'est bon je vois comment faire (utiliser une variable et faire le >> une seule fois par ligne de résultat final).
Marsh Posté le 03-05-2007 à 00:13:16
Sous unix/linux y'a la commande "join" qui est faite pour ça.
Marsh Posté le 02-05-2007 à 10:31:01
Bonjour,
je dispose de plusieurs fichiers contenant chacun un tableau de résultat du style :
FILE SIZE BLABLA TRUC
test0 51250 3121 64
test1 5415 211 6
test2 152 30 96
FILE SIZE BIDULE CHOSE
test0 51250 35415 15
test1 5415 5445 6
test2 152 541 7
... etc. Je voudrais rassembler les informations dans un seul fichier. J'ai déjà ce qu'il faut pour récupérer les colonnes etc, mais je ne sais pas comment faire pour que les informations des fichiers viennent s'entremeler sur une même ligne. C'est à dire que j'obtiens quelque chose comme ça :
FILE SIZE BLABLA TRUC
test0 51250 3121 64
test1 5415 211 6
test2 152 30 96
BIDULE CHOSE
35415 15
5445 6
541 7
alors que je voudrais ceci :
FILE SIZE BLABLA TRUC BIDULE CHOSE
test0 51250 3121 64 35415 15
test1 5415 211 6 5445 6
test2 152 30 96 541 7
Une petite piste ? Merci