Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
4523 connectés 

 


Dernière réponse
Sujet : [bash] Comment faire une "jointure" entre deux fichiers ? awk ?
camarchepoa finalement j'ai chargé les fichiers dans une table temporaire, fait une requête sql et déchargé dans un fichier ...
 
 
C'est bourin mais ca marche ...
 
Faudrai que je teste la solution d'ArSuniK mais la condition du while me parrait étrange non ?
 
En tout cas merci pour vos réponses !!!

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
camarchepoa finalement j'ai chargé les fichiers dans une table temporaire, fait une requête sql et déchargé dans un fichier ...
 
 
C'est bourin mais ca marche ...
 
Faudrai que je teste la solution d'ArSuniK mais la condition du while me parrait étrange non ?
 
En tout cas merci pour vos réponses !!!
arsunik Une solution avec awk :
 
awk '
BEGIN {
while (getline < "personne.fic" ) {
  id[$1] = $2 " "
}
}
{ print $1 " " id[$1] $2 }
' nom.fic
camarchepoa alors :
 
- chaque id de nom.fic est dans personne.fic
 
- l'inverse est FAUX
 
--> en fait c'est possible de connaitre le nom seul
bobuse ben est-ce que à chaque id dans personne.fic, il y a un id correspondant dans nom.fic (et vise-versa) ?
camarchepoa en fait il risque d'y avoir des trous :(
 
les champs sont séparés par des tabulations ...
 
tu veut savoir autre chose ?
 
déjà merci !
bobuse une solution simple, si tu es sur de ne pas avoir de "trou" dans les deux fichiers, genre tu passes pas de n à n+3 sans les id intermédiaires. Il suffit de réordonner les deux fichiers, et tu as les coresspondances :)
 
EDIT : en fait, je manque de détail sur les specs de tes fichiers :/
camarchepoa Bonjour !
 
je voudrai faire une sorte de jointure entre deux fichier par rapport à un id de personne
 
exemple : fichier personne.fic

Code :
  1. 1    toto
  2. 2    titi
  3. 3    tata
  4. 4    tutu


 
 
fichier nom.fic

Code :
  1. 1   leNomDeToto
  2. 2   leNomDeTiti    truc
  3. 3   leNomDeTata    machin
  4. 4   leNomDeTutu    bidule


 
 
j'ai commencé et ca donne ca mais bof bof :
 

Code :
  1. i=0;
  2. while [ $i -le 221 ]   #il y a 221 lignes dans personne.fic
  3. do
  4.         awk '{ if ($1==i) print $2 }' nom.fic >> sortie;
  5.         echo $i;
  6.         i=`expr $i + 1`
  7. done


 
Mais forcément ca marche pas  :pt1cable:  
mais je suis pas top en shell  :(
 
le but c'est d'avoir :
1    toto    leNomDeToto
2    titi    leNomDeTiti
3    tata    leNomDeTata
:
:
:
 
Merci de votre aide !!!


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)