Extraire un chiffre dans une chaine

Résolu/Fermé
dino - 30 avril 2014 à 10:27
 dino - 30 avril 2014 à 12:12
Bonjour,

Je sous ksh.

Je voudrais extraire un chiffre d'une chaine de caractere qui sont dans un fichier :
TOTO[1]
TOTO[2]
TOTO[3]
....etc

C'est le chiffre entre [] qui m'interesse.

Avez vous une idée SVP ?

Merci.

Bonne journée.





A voir également:

6 réponses

dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 622
30 avril 2014 à 11:27
awk -F "[]]|[[]" '/TOTO\[[0-9]/ {print $2}' fichier

                
1
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 419
30 avril 2014 à 10:33
Salut,

Une façon parmi d'autres...

$ cat plop 
TOTO[1]
TOTO[2]
TOTO[43]

$ grep -o '[[:digit:]]*' plop
1
2
43

0
Merci ,mais apparament mon OS ne connait pas l'option -o :
grep -o '[[:digit:]]*' TOTO.txt
grep: Not a recognized flag: o

je suis sous AIX 7.1

Si t'a d'autres propositions ...


Merci
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 419
30 avril 2014 à 10:58
$ sed  's/[^[:digit:]]//g' plop 
1
2
43
0
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 622
30 avril 2014 à 11:06
hello
avec awk
$ awk -F "[]]|[[]" '{print $2}' fichier
1
2
3
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Super ! merci ...ca fct !

mais j'ai omis de mentioner qlq chose ...au faite dans mons fichier je voudrais prendre que les chaines TOTO["chiffre"] ,les autres lignes TITI["chiffres"],..etc ne m'interesse pas


Merci beaucoup !
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 419
30 avril 2014 à 11:24
$ cat plop 
TOTO[1]
TiTi[2]
TOTO[43]
TUTU[123]

$ sed -n '/^TOTO/ {s/[^[:digit:]]//gp}' plop
1
43
0
Merci a tous ca fct !!
Vous etes les meilleurs !

Bonne journée !
0