Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/11/2007, 19h41   #1
Invité de passage
 
Inscription : mars 2007
Messages : 26
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 26
Points : 3
Points : 3
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
marinaetsonchat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2007, 15h15   #2
Modérateur
 
Avatar de al1_24
 
Homme Alain
Ingénieur d'études décisionnel
Inscription : mai 2002
Messages : 4 451
Détails du profil
Informations personnelles :
Nom : Homme Alain
Âge : 51
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études décisionnel
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 4 451
Points : 7 563
Points : 7 563
Comme ça, ça devrait fonctionner :
Code :
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
__________________
Modérateur Langage SQL
Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
N'oubliez pas le bouton et pensez aux balises [code]
Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
al1_24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h19.


 
 
 
 
Partenaires

Hébergement Web