IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

calcul et boucle sur lecture de fichier


Sujet :

Shell et commandes GNU

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 29
    Points : 17
    Points
    17
    Par défaut calcul et boucle sur lecture de fichier
    Bonjour,

    Voilà mon problème : je souhaite faire un calcul lors de la lecture d'un fichier, puis recupérer la valeur de cette variable après avoir lu le fichier. A l'interieur de la boucle ma variable $i à la bonne valeur, mais à la fin, ca fait 0. Voici le code :

    #!/bin/sh

    let i=0
    cat fichier | while read ligne
    do
    let i=$i+1
    echo $i
    done
    echo "final : " $i


    Resultat de l'execution :
    2
    3
    4
    final : 1


    Avec une boucle for je peux faire des calculs, mais avec un " | while read " ca ne marche pas. Comment faire ?

    Merci

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 111
    Points : 28 450
    Points
    28 450
    Par défaut
    Comme ça, ça devrait fonctionner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #!/bin/sh
     
    let i=0
    while read ligne
    do
        let i=$i+1
        echo $i
    done < fichier 
    echo "final : " $i

Discussions similaires

  1. Priorité sur lecture de fichiers
    Par M4xim3 dans le forum Débuter
    Réponses: 8
    Dernier message: 20/08/2012, 13h43
  2. Erreur sur lecture/ecriture fichier
    Par HeB91 dans le forum SharePoint
    Réponses: 2
    Dernier message: 26/01/2010, 09h29
  3. retour chariot sur lecture de fichier
    Par Sopalinou dans le forum Langage
    Réponses: 2
    Dernier message: 15/12/2009, 11h04
  4. boucle ecriture lecture de fichier
    Par le_fif dans le forum Langage
    Réponses: 10
    Dernier message: 17/08/2009, 14h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo