Problème pour joindre 2 fichiers
Résolu
JoOMaK
Messages postés
138
Statut
Membre
-
JoOMaK Messages postés 138 Statut Membre -
JoOMaK Messages postés 138 Statut Membre -
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
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:
- Problème pour joindre 2 fichiers
- Supercopier 2 - Télécharger - Gestion de fichiers
- Renommer des fichiers en masse - Guide
- Fichiers epub - Guide
- Wetransfer gratuit fichiers lourd - Guide
- Explorateur de fichiers - Guide
4 réponses
hello
on peut les fusionner avec awk
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
$
Salut,
Tu l'as dit toi même : car les deux fichiers ne sont pas identique :s.
Extrait du man join :
Tu auras certainement besoin d'autres outils avant de faire un "join" ;-((
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" ;-((
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.