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

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  petit script de substitution

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

petit script de substitution

n°1323805
lemime
Emile de son prénom
Posté le 05-11-2012 à 08:52:24  profilanswer
 

Bonjour,
Je précise par avance que je suis un pur newbie.
Voilà, j'ai dans un fichier une "matrice" de correspondance du genre :
nom_ioport=50050768011047f3
...
Et dans un autre fichier, j'ai le résultat d'une commande unix qui me donne la liste des chemins d'accès disque  avec le wwn (second champ de la matrice plus haut) de l'ioport
associé.
Comment faire pour substituer le second champ de ma matrice par le premier dans le fichier résultat ?
Y'a-t-il un moyen simple d'y arriver ? petit script bash par exemple.
Merci d'avance.

mood
Publicité
Posté le 05-11-2012 à 08:52:24  profilanswer
 

n°1323842
Profil sup​primé
Posté le 05-11-2012 à 16:02:36  answer
 

salut,
 
tout cela reste très vague, je ne vais donc pas être plus précis :
 
oui, c'est possible; j'utiliserai `sed' pour le faire.

n°1323905
lemime
Emile de son prénom
Posté le 05-11-2012 à 21:01:21  profilanswer
 

Salut,
Merci pour ta réponse mais je ne sais pas comment expliquer clairement.
J'essaie :
J'ai un fichier 1 où j'ai :
nom_a_donner1=50012532626
nom_a_donner2=20326223262
et ainsi de suite, une sorte de table de correspondance.
Et dans un fichier 2 j'ai :
machineA
hdisk1, fscsi1, enabled, wwn
hdisk2 ....
hdisk1 ....
et ce pour de nombreuses machines avec plusieurs disques.
Le champ à substituer se trouve dans le fichier 2 : wwn, il correspond au second champ dans le fichier 1.
Il faut donc que je puisse remplacer le 4ème champ du fichier 2 par le champ 1 du fichier 1.
sed permet les substitutions dans un seul fichier, non?
Suis-je plus clair ?

n°1323910
Profil sup​primé
Posté le 05-11-2012 à 22:00:01  answer
 

Citation :

sed permet les substitutions dans un seul fichier, non?

oui, mais le shell pourrait en lire, et sed effectuer la modification.
 
peu importe.
 
awk sera probablement plus simple

Code :
  1. $ cat ioports
  2. nom_a_donner1=50012532626
  3. nom_a_donner2=20326223262
  4. $ cat wwn
  5. hdisk1, fscsi1, enabled, wwn
  6. hdisk2, fscsi2, enabled, wwn
  7. $ awk '{getline var <"ioports"; sub("[^=]*=","",var); print $1,$2,$3,var}' wwn
  8. hdisk1, fscsi1, enabled, 50012532626
  9. hdisk2, fscsi2, enabled, 20326223262


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

  petit script de substitution

 

Sujets relatifs
script pour gimp : traitement par lots d'images ?substitution: sh vs bash
script ok ligne de commande pas en crontabScript pour la différence entre 2 données à leur path directory
Script pour obtenir le nom, l'IP et la MAc des PC du réseauCacti : graph du résultat d'un script shell d'un hôte distant
Script KSH et portée des variables : helpScript ksh pour Solaris
Aide sur script bash 
Plus de sujets relatifs à : petit script de substitution


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