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

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  remplacer des mots d'un fichier F1 par ceux d'un fichier F2

 



Le chocolat est-il bon pour la santé...?




Attention si vous cliquez sur "voir les résultats" vous ne pourrez plus voter

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

remplacer des mots d'un fichier F1 par ceux d'un fichier F2

n°1112223
motard75
Posté le 11-02-2009 à 18:10:41  profilanswer
 

Bonjour à toutes et à tous ! :hello:  
 
J'ai un fichier F1 :
toto est fort et titi aussi
titi est grande

 
J'ai un fichier F2 :
toto Michel
titi Anne

 
J'ai envi d'avoir :
Michel est fort et Anne aussi
Anne est grande

 
Je me dit qu'il faut regrouper sed et awk... Mais je ne vois pas...  
Pouvez-vous m'aider ? J'ai du mal...
 
Merci.

mood
Publicité
Posté le 11-02-2009 à 18:10:41  profilanswer
 

n°1112378
matafan
Posté le 12-02-2009 à 10:01:03  profilanswer
 

Tu fais un script awk qui parse le fichier F1. Dans le bloc BEGIN, tu parse le fichier F2 grace à la fonction getline(), et tu génère un tableau de correspondances toto => Michel, titi => Anne. Ensuite pour chaque ligne de F1, tu fais une substitution pour chaque entrée du tableau.

n°1112435
motard75
Posté le 12-02-2009 à 11:54:16  profilanswer
 

Merci, voilà ce que j'ai :
$ cat 1 |  
awk 'BEGIN {while("cat 2" | getline) tab[$1]=$2;}
{for (n in tab) print tab[n]}'
 
Par contre la dernière étape je ne vois pas trop... Serait-ce "sed "s/tab[$1]/tab[$2]/g" qu'il faut faire ? Si oui il ne prendra que la dernière substitution... C'est là que je bloque.
Merci en tout cas..

n°1112447
matafan
Posté le 12-02-2009 à 12:39:45  profilanswer
 

Mais non, tu fais la substitution directement dans awk avec un gsub().

n°1112496
motard75
Posté le 12-02-2009 à 15:21:11  profilanswer
 

Merci !
Ca marche parfaitement !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  remplacer des mots d'un fichier F1 par ceux d'un fichier F2

 

Sujets relatifs
remplacer bout de code avec awkScript bash : récuperer des données dans un fichier
Cherche fichier PPD pour Epson SX 200Partage fichier linpus/xp wifi
RESOLU Suggestions pour trouver le plus grand fichierCopier uniquement les droits d'un fichier
[Résolu] Besoin d'aide : récupérer fichier sur un serveurCentos : fichier de configuration de MySql
Samba, deplacement de fichier et heritage d'autorisationsMAC vers Linux copie de fichier contenant des "/"
Plus de sujets relatifs à : remplacer des mots d'un fichier F1 par ceux d'un fichier F2


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR