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

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  CSH : modifier certains mots d'un fichier à partir d'un autre fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

CSH : modifier certains mots d'un fichier à partir d'un autre fichier

n°1389916
FerLio
Posté le 27-04-2016 à 13:40:23  profilanswer
 

Bonjour,
 
J'ai un fichier XML évolutif au sein duquel j'aimerais remplacer des noms de ville à partir d'identifiant contenu dans une table de correspondance. pour chaque occurence du fichier.
 
exemple : table de correspondance
 
PARIS;75000
BORDEAUX;33000
 
J'étais parti sur un sed mais j'ai beau creuser je ne trouve pas.
 
Quelqu'un peut il m'aider SVP.
A votre disposition si vous avez besoin d'informations complémentaires.
 
J'ai déjà la boucle

Code :
  1. while read line
  2. do
  3. var1=$( echo "$line" | sed -n -E 's/.*Station="(.*)".*Value.*/\1/ p' )
  4. if [ "$var1" ] ; then
  5.  var2=$(echo "$var1" | tr a-z A-Z | cut -c 1-4)
  6.  echo -e "$line" | sed -n -E "s/${var1}/${var2}/ g" >> new_fichier.xml
  7. else
  8.  echo -e "$line" >> new_fichier.xml 
  9. fi
  10. done < fichier.xml


 
Merci beaucoup

mood
Publicité
Posté le 27-04-2016 à 13:40:23  profilanswer
 

n°1389917
_lael_
Posté le 27-04-2016 à 14:11:39  profilanswer
 

Si le résultat de la ligne 6 correspond à l'élément que tu souhaites chercher dans ton fichier de correspondance alors tu as juste à rajouter une ligne en dessous pour faire un grep dans ton fichier de correspondance + awk pour récupérer la correspondance.
 
C'est pas super propre car t'es obligé de re-parser le fichier à chaque loop mais si csh ne gère pas les hash (peut-être que si ?) tu as pas trop le choix.
 
Après ça serait probablement mieux de le faire en perl/python qui gèrent très facilement ce genre de trucs.


Message édité par _lael_ le 27-04-2016 à 14:16:46

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

  CSH : modifier certains mots d'un fichier à partir d'un autre fichier

 

Sujets relatifs
VPN et fichier host + restriction pour certaines IPsAjouter la date à la création d'un fichier
Comment modifier l'ordre de boot de deux OS Linux ?script batch de compression automatique fichier
Ce thème d'icônes n'a aucun fichier cache...[DHCP] DNS spécifique pour certains clients ?
[RESOLU] Crontab : Appeler variable déclarée dans un autre fichierOpenSSH - FAI bloque certains sites
Taille Système de fichier BTRFSErreur importation fichier .ocs
Plus de sujets relatifs à : CSH : modifier certains mots d'un fichier à partir d'un autre fichier



Copyright © 1997-2016 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR