|
Publicité | ||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : juin 2005 Messages : 125 ![]() |
Bonjour,
Dans un script Bash j'ai du mal à extraire une soush-chaine. J'ai pas exemple ce nom de fichier: n022.car Et je dois en extraire le nombre 022 Sachant que le nombre peut comporter plus de 3 chiffres. J'ai essayé plusieurs manières mais je n'arrive pas à trouver une solution générique pour prendre le nmobre entre le 'n' et le '.'. Pouvez m'y aider ? Merci beaucoup |
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé
![]() Inscription : février 2008 Messages : 1 896 ![]() |
Bonjour touronster,
Code :
? |
||
|
|
20
|
|
|
#3 | ||
|
Nouveau Membre du Club
![]() David Inscription : avril 2009 Messages : 26 ![]() |
Salut touronster,
plusieurs possibilités existent pour arriver au résultat voulu, N_BaH a déjà donné un aperçu des possibilités. Ci-dessous, le même résultat avec la commande cut Code :
Dernière modification par syjis ; 07/01/2010 à 07h41. |
||
|
|
10
|
|
|
#4 |
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2011 Messages : 11 ![]() |
Bonjour,
je n'ai pas voulu créer de nouveau sujet car mon problème est similaire. J'ai un pourcentage, par exemple 1% ou 50%. Comment ne récupérer que le premier - ou les deux premiers quand il y en a deux - chiffres (sachant que je ne sais pas d'avance s'il y en a un ou deux) ? Merci d'avance. |
|
|
01
|
|
|
#5 | |||
|
Membre Expert
![]() Inscription : janvier 2011 Messages : 779 ![]() |
Salut,
Citation:
Code :
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
|||
|
|
10
|
|
|
#6 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2011 Messages : 11 ![]() |
Merci pour la réponse !
Cela semble bon mais ça ne marche pas pour moi :/ Code :
|
||
|
|
10
|
|
|
#7 |
|
Membre Expert
![]() Inscription : janvier 2011 Messages : 779 ![]() |
Faisons plus simple :
Code :
A=$(df | awk 'NR==5 { sub("%","",$5); print $5 }')
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
|
|
10
|
|
|
#8 |
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2011 Messages : 11 ![]() |
Cela fonctionne, merci beaucoup !
(A propos, je trouve cette façon de faire plus compliquée que l'autre :p) |
|
|
10
|
|
|
#9 |
|
Membre Expert
![]() Ingénieur développement logiciels Inscription : octobre 2008 Messages : 1 361 ![]() |
Une solution portable :
|
|
|
10
|
|
|
#10 |
|
Futur Membre du Club
![]() Technicien réseau Inscription : avril 2011 Messages : 15 ![]() |
bonjour, je décortique la réponse de N_BaH
Code :
sed 's/^\w\([0-9]*\).*/\1/' <<< "$var" J'ai lu que \w était un raccourci de classe qui correspondait à un mot pouvant contenir les caractères alphanumériques _a-zA-Z0-9 (??) Si je teste la commande sed NON PAS avec var="n022.car", mais avec var="nnnn022.car", ca ne marche pas; j'en déduis que je n'ai pas compris ce que représentait \w puis je avoir une explication ?, et pourrais je savoir POUR BASH où est ce qu'on peut trouver le tableau et la signification de ces raccourcis (s'il s'agit bien d'un raccourci). Dans l'abs-guide, je ne l'ai pas trouvé ???? Dernière modification par al1_24 ; 06/07/2011 à 10h50. Motif: Balises CODE |
|
|
10
|
|
|
#11 | |||
|
Membre Expert
![]() Inscription : janvier 2011 Messages : 779 ![]() |
Salut,
Citation:
On aurait tout aussi bien pu écrire (pour le cas de départ (var=n022.car") : ou encore : Citation:
La solution qui marche : Citation:
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
|||
|
|
10
|
Copyright © 2000-2012 - www.developpez.com