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
    Salut,
    var=$(grep 'ligne(s) creée(s)' fichier | grep -Eo '^[ [:digit:]]*')
    Sans l'espace entre les 2 crochets ouvrants de [:digit:]
    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...