Shell : recuperer une variable dans un grep

Bonjour,

J'aimerais savoir comment je pourrais à l'aide de la commande grep je pense récupérer un chiffre et le mettre dans une variable.
par exemple j'ai un fichier qui contient entre autre la ligne suivante :

10 ligne(s) creée(s)

Comment récupérer le 10 dans une variable ?

Merci pour votre aide
Configuration: Windows XP
Firefox 3.0.3

4 réponses

  1. Modérateur
    Tu peux capturer uniquement ce qui t'interesse dans une ligne avec l'option -o
    Par exemple ici:
    mavar=$(echo $maligne | grep -Eo "^[0-9]+")
    1. merci mais je ne connais pas "$maligne"

      en fait je sais que je vais avoir la ligne
      n ligne(s) créée(s)
      dans mon fichier.
      Il faut que je boucle sur mon fichier avec un read ??
      1. Modérateur
        Si tu as un fichier avec plusieurs lignes, alors il te faut plusieurs variables, ou un tableau....
        i=0
        
        cat monfichier | while read -r $ligne
        do
           tab[i]=$(echo $ligne | grep -Eo)
           ((i=i+1))
        done

        J'ai pas testé m'enfin ça doit pas être loin...
    2. Modérateur
      Salut,
      var=$(grep 'ligne(s) creée(s)' fichier | grep -Eo '^[ [:digit:]]*')
      Sans l'espace entre les 2 crochets ouvrants de [:digit:]