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 08/12/2006, 12h58   #1
Membre à l'essai
 
Inscription : janvier 2004
Messages : 124
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 124
Points : 21
Points : 21
Par défaut Addition de nombres contenus dans un fichier

Hello.

Voilà, j'a un fichier contenant ceci :
Code :
1
2
3
4
5
6
7
8
9
24
46
91
51
84
64
35
62
15
Par exemple.

Et j'aimerais calculer la somme de ces nombres, à l'adre d'un shell.

Si jamais vous avez la solution... avec bc. merci

chris
Krispy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2006, 14h42   #2
Membre Expert
 
Avatar de narmataru
 
Inscription : décembre 2002
Messages : 1 423
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : décembre 2002
Messages : 1 423
Points : 1 491
Points : 1 491
Bonjour,
Voici une solution utilisant Vi et bc :

Citation:
vi -c '%s/\n/ /|%s/ \+$//|%s/ \+/ /g|%s/ / + /g|:w! %.new|:q!' tst.txt ; cat tst.txt.new | bc; rm -f tst.txt.new
Avec Vi je remplaces les sauts de ligne par un espace, je supprimes les esapce à la fin de la ligne si il y en a, je remplace plusieurs espaces à suivre par un seul espace, je converti les espaces en ' + ', je sauvegarde dans le fichier test.txt.new. Puis j'envoie ce fichier dans bc qui va calculer la somme et enfin je supprime le fichier tst.txt.new.
__________________
Reportage d'Arte sur Linux
narmataru est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2006, 13h42   #3
Membre émérite
 
Inscription : mai 2004
Messages : 709
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations forums :
Inscription : mai 2004
Messages : 709
Points : 852
Points : 852
Variation sur le même thème:
Code :
1
2
3
4
5
6
operation=''
for nbr in $(cat tonFichier)
do
    operation=$operation$nbr'+'
done
echo ${operation%+} | bc
__________________
:q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp
:quitplease :quitnow :leave :shit ^X^C ^C ^D ^Z ^Q QUITDAMMIT
Jabber: ripat at im.apinc.org
ripat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2006, 20h56   #4
Membre Expert
 
Avatar de becket
 
Frédéric Brugmans
Informaticien multitâche
Inscription : février 2005
Messages : 661
Détails du profil
Informations personnelles :
Nom : Frédéric Brugmans

Informations professionnelles :
Activité : Informaticien multitâche

Informations forums :
Inscription : février 2005
Messages : 661
Points : 1 196
Points : 1 196
une solution avec awk

awk 'BEGIN{ somme=0 } { somme=somme+$0 } END{ print "total : " somme } ' FICHIER.TXT
becket est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2006, 15h18   #5
Membre éclairé
 
Avatar de Lunixinclar
 
Inscription : juillet 2006
Messages : 384
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 384
Points : 342
Points : 342
Envoyer un message via MSN à Lunixinclar
somme+=$0
Lunixinclar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2006, 17h04   #6
Rédacteur/Modérateur
 
Avatar de troumad
 
Homme Bernard SIAUD
Enseignant
Inscription : novembre 2003
Messages : 4 400
Détails du profil
Informations personnelles :
Nom : Homme Bernard SIAUD
Âge : 44
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Enseignant
Secteur : Enseignement

Informations forums :
Inscription : novembre 2003
Messages : 4 400
Points : 4 944
Points : 4 944
C'est bien toutes vos astuces. Mais pour une personne qui essaie d'apprendre le shell, il manque parfois un peu d'explications !
__________________
Modérateur Mandriva Linux
Amicalement VOOotre
Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
Mes tutoriels
troumad 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 09h15.


 
 
 
 
Partenaires

Hébergement Web