SHELL grep digit

Résolu
tlep Messages postés 597 Statut Membre -  
lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
Bonjour,

j'ai un comportement curieux lorsque j'utilise :
grep -o :digit:

Je veux récupérer des noms de fichiers, et extraire la partie numérique de leur nom:
Exemple:

FIRST=$(find $REP_CRA_OUT/ -type f -name "$NOM_BASE_C*"|sort|head -1)
Je trouve par exemple /home/DCVN43231.tar.bz2
Je fais ensuite :
FIRST=$(basename $FIRST|grep -o :digit:)
et là je récupère :
4 3 2 3 1
au lieu de
43231

C'est bizarre non ?

J'ai essayé "grep -o :digit:*" ou "grep -o :digit:+" mais ca ne renvoie rien

:-|

Merci ;-)
Configuration: Windows XP
Firefox 2.0.0.6

4 réponses

  1. tlep Messages postés 597 Statut Membre 118
     
    Pardon je voulais dire \[\[:digit:\]\]
    0
    1. tlep Messages postés 597 Statut Membre 118
       
      (Sans les antislash)
      0
    2. tlep Messages postés 597 Statut Membre 118
       
      Finalement j'ai mis :

      egrep -o "\[[:digit:]\]{1,}
      0
  2. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    et avec la classe de caractères [0-9] ça ne te conviens pas?!
    grep -Eo '[0-9]{1,}'
    --
    lami20j
    0
  3. tlep Messages postés 597 Statut Membre 118
     
    ah ben si j'avais pas pensé.

    Mais grep -E et egrep c'est pareil ?
    0
  4. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    Mais grep -E et egrep c'est pareil ?

    man grep

    Egrep est similaire (sans etre identique) a grep -E, et est compatible avec les versions UNIX historiques de egrep
    0