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

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  extraction de nombres dans une chaine

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

extraction de nombres dans une chaine

n°790566
sutanpeppe​r
Posté le 08-03-2006 à 18:23:22  profilanswer
 

Supposons une listye de fihiers comme celle-ci:
$HOME/LinkDATA/ImagesVR/IsoVol/ct/p0V.mhd
$HOME/LinkDATA/ImagesVR/IsoVol/ct/p1V.mhd
...
$HOME/LinkDATA/ImagesVR/IsoVol/ct/p10V.mhd
...
$HOME/LinkDATA/ImagesVR/IsoVol/ct/p15V.mhd
 
Comment puis-je récupérer la valeur 0 de $HOME/LinkDATA/ImagesVR/IsoVol/ct/p0V.mhd (respectivement 1,...,10...,15) dans une variable?
 
j'ai essayé avec cut mais comme on a soit 1 soit 2 caractère cela pose un problème.
 
y'a t'il moyen de filtrer une chaîne de caractère, filtre qui ressortirait uniqument les caractères numériques (ce qui conviendrait ici)
 
une idée..? merci d'avance


Message édité par sutanpepper le 08-03-2006 à 18:24:57
mood
Publicité
Posté le 08-03-2006 à 18:23:22  profilanswer
 

n°790608
Pillow
'cos the trees won't talk
Posté le 08-03-2006 à 19:11:35  profilanswer
 

Code :
  1. f=p15V.mhd
  2.  
  3. # tu peux prendre une approche "je connais la forme du nom du fichier, je ne garde que ce qui m'interesse"
  4. $ echo $f | sed 's/p\(.*\)V.mhd/\1/'
  5. 15
  6.  
  7. # tu peux aussi te dire "la forme du nom du fichier n'est pas toujours la même, mais il n'y a qu'un seul groupe de chiffres"
  8. $ echo $f | sed 's/[^0-9]*\([0-9]*\).*/\1/'
  9. 15
  10.  
  11. # ou alors, tu peux décider d'enlever simplement les lettres et les points du nom du fichier
  12. $ echo ${f//[[:alpha:].]}
  13. 15

n°790762
sutanpeppe​r
Posté le 09-03-2006 à 10:00:11  profilanswer
 

Bon ben merci...
 
(un jour il faudra que je me fasse expliquer cette commande sed et les expressions régulières)


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

  extraction de nombres dans une chaine

 

Sujets relatifs
[bash] supprimer les espaces à la fin d'une chaine de caractères ?Réinitialiser une châine SCSI
[KSH] Gargl, je sais plus ! Convertir une chaîne en entier et autre opExtraction CD Audio....
[PERL] Recherche dans une chaîne de caractèreCommande ls : afficher uniquement les nombres
[script shell] Comment echapper une chaine de caractères ?parcours liste de fichier et remplacer une chaine specfique
[debian] scan des chaine tvChaine hi-fi branché en usb sous debian
Plus de sujets relatifs à : extraction de nombres dans une chaine


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