Problème pour joindre 2 fichiers

Résolu/Fermé
JoOMaK Messages postés 117 Date d'inscription dimanche 8 février 2009 Statut Membre Dernière intervention 17 septembre 2015 - 14 déc. 2009 à 15:28
JoOMaK Messages postés 117 Date d'inscription dimanche 8 février 2009 Statut Membre Dernière intervention 17 septembre 2015 - 14 déc. 2009 à 18:54
Bonjour tout le monde,

J'ai un petit problème et j'ai besoin de vous pour m'aider à le résoudre.

Voila, j'ai deux fichiers 1 et 2. Le fichier 1 contient le nom de tous les étudiants et le fichier 2 contient seulement le nom des étudiants majeur avec leur numéro de téléphone en plus. J'aimerais en mode console joindre les deux fichiers entre eux et faire qu'un seul fichier qui contient le nom de tous les étudiants ainsi que le numéro de téléphone des étudiants (uniquement) majeur.

J'ai utilisé la commande join, mais je ne crois pas qu'elle fonctionne dans mon cas, car les deux fichiers ne sont pas identique :s.

Merci d'avance.

joomak
A voir également:

4 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
14 déc. 2009 à 17:07
hello
on peut les fusionner avec awk
$ cat a1 
albert
bruno
corentin
dédé
emile
françois
gaston
$
$ cat a2
albert		06 xxx
corentin	07 xxx
emile		08 xxx
gaston		09 xxx
$ 
$ cat a1 a2 | awk '{z=$1;$1="";x[z]=x[z] " " $0} ; END {for(n in x)print n, x[n]}'|sort
albert    06 xxx
bruno  
corentin    07 xxx
dédé  
emile    08 xxx
françois  
gaston    09 xxx
$
1
JoOMaK Messages postés 117 Date d'inscription dimanche 8 février 2009 Statut Membre Dernière intervention 17 septembre 2015 97
14 déc. 2009 à 18:54
Merci dubeck :):) , ça fonctionne correctement !!!

J'ai copié cette ligne : awk '{z=$1;$1="";x[z]=x[z] " " $0} ; END {for(n in x)print n, x[n]}'|sort et ensuite j'ai rajouté au bout de la ligne : > temp , pour affecter le résultat dans un fichier texte temporaire.

Merci.
0
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
14 déc. 2009 à 15:36
Salut,

Tu l'as dit toi même : car les deux fichiers ne sont pas identique :s.

Extrait du man join :
join affiche sur la sortie standard une  ligne  pour  chaque  paire  de
       lignes  d'entrée, l'une provenant de fichier_1 et l'autre de fichier_2,
       qui disposent de champs de fusion identiques.

       N'importe lequel des deux fichiers (mais pas les deux  en  même  temps)
       peut être `-' ce qui représente l'entrée standard.

       fichier_1 et fichier_2 doivent être préalablement triés en ordre crois-
       sant (pas nécessairement numérique) sur  leur  champ  utilisé  pour  la
       fusion. 


Tu auras certainement besoin d'autres outils avant de faire un "join" ;-((
0
JoOMaK Messages postés 117 Date d'inscription dimanche 8 février 2009 Statut Membre Dernière intervention 17 septembre 2015 97
14 déc. 2009 à 15:45
Salut jipicy,

Raah, je vais devoir bidouiller avant de les joindre !!! Merci
ps : chiraz, je n'ai pas skype et je suis au bahut ! lol
0
ok c pas grave enchanté en tout cas :-) j'ai voulu s'aider on peut s'aide dans le forum alors :-)
0