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

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [WSH] Resultat de commande, remplacer le Delims

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[WSH] Resultat de commande, remplacer le Delims

n°1790921
3xc4l18ur
question = ( to ) ? be : ! be;
Posté le 23-09-2008 à 14:57:48  profilanswer
 

Bonjour a tous  
 
J'ai le resultat d'une commande qui a cette tronche là:

Code :
  1. DeviceNo   Board  Bus  ScsiID  LUN  DeviceType  InquiryData
  2. -----------------------------------------------------------
  3. 0          1      0    0       0    258(CDROM)   MITSUMI CD
  4. 1          4      0    6       0    64          ESG-SHV SCA
  5. 2          4      2    0       0    2 (HDD)     MYLEX   Acc
  6. 3          4      4    6       0    64          MYLEX   GAM
  7. 4          5      0    0       0    6           plop
  8. 5          5      0    1       0    6           plop1
  9. 6          5      0    2       0    6           plop2
  10. 7          5      0    3       0    6           plop3
  11. 8          5      0    4       0    6           truc
  12. 9          5      0    5       0    6           truc1


 
Je parcours ce resultat avec un :

Code :
  1. for /f "usebackq skip=2 tokens=2,* delims= " %a in (`commande.exe`) do (echo "Board : %a, Bus : %b, ScsiID : %c, LUN : %d, DeviceType : %e, DeviceType : %f" )


 
Mon problème que les token n°2 est bien le "Board" mais le token n°3 contient le reste de la ligne (et même avec un "tokens=2,3,4,5" ). J'en viens a me dire que c'est parce que le delims=" " n'est pas respecté en fait.
 
D'ou ma question, y aurait-il un moyen de forcer la substitution de séries d'espace en un seul espace .
un genre de "sed -e 's/ */ /' " ?
 
Merci a tous
 

mood
Publicité
Posté le 23-09-2008 à 14:57:48  profilanswer
 

n°1790942
3xc4l18ur
question = ( to ) ? be : ! be;
Posté le 23-09-2008 à 15:42:04  profilanswer
 

Bon bah j'ai craqué j'ai installé cigwin :) mais bo ca me plairait de savoir :D
 
Si j'ai bien compris chaque caractère dans delims est considèré comme un un séparateur. En gros pour delims=";/ _" les séparateurs seront ";" ou "/" ou " " ou "_" ... donc mon delims=" " devrait marché :s


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [WSH] Resultat de commande, remplacer le Delims

 

Sujets relatifs
PHP: Une commande pour parcourir un tableau...Remplacer une chaine de charactères
Petit question sur le résultat d'une heure dans un scriptcommande ALT d'une image sur une case d'un tableau
Requête externe sur résultat de requête externegif apparait/remplacer en js ou css lorsque souris pointe lien
Access : Code bouton de commandeRemplacer une DLL (.net) au runtime par une nouvelle version
[VB]joindre une commande de mise en page EXCEL à une commande d'exportOuvrir une commande en UTF-8 [RÉSOLU]
Plus de sujets relatifs à : [WSH] Resultat de commande, remplacer le Delims


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