Aide Script Très Simple

Sblew -  
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
Bonjour, un p'tite aide pour mon devoir maison shell bash???
voilà hé bien j'ai un petit sourcis en fait, j'ai un DM assez complexes à réalisé, j'en ai fait la grande partie mais un problème ce pose
je stock dans un fichier des valeurs de ce style, le fichier contient donc
1 2 3 4 3 2 1
mon problème et que j'aimerais les additioner et afficher le résultat à l'écran
j'ai pensé à la commande bc
mais bon j'y arrive pas
please j'dois le rendre samedi matin
merci d'avance
A voir également:

11 réponses

lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

root@debian:~# cat a
1 2 3 4 3 2 1
root@debian:~# echo $(($(sed -r 's/\s+/+/g' a)))
16
ou
root@debian:~# cat a
1 2 3 4 3 2 1
root@debian:~# echo $(($(sed 's/\s\+/+/g' a)))
16

0
Sblew
 
J'ai besoin de ton aide, ton scrip marche niquel mais pourais tu m'l'expliquer stp :) si tu passes par là biensur :p merci enciore et d'avance
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570 > Sblew
 
Salut,

je vais decomposer la commande

avant de commencer il faut savoir
1.
echo c'est une commande qui affiche à l'écran ce qu'on lui passe en argument

echo salut va afficher salut

2.
$(commande) c'est la séquence qui permet d'exécuter une commande
on peut capturer le résultat ou le passer en argument à une autre commande

3.
$((opérations)) permet de faire un calcul aritméthique
$((1+2+3)) va calculer la somme
echo $((1+2+3)) va afficher la somme

4.

sed c'est un streaming editeur
la commande sed 's/\s\+/+/g' a remplace les espaces avec le signe + ce qui permettra de faire l'adition

Donc en 1er temps je remplace les espaces avec +, ensuite avec $() je passe le résultat à echo après avoir faire les opérations avec $(())

lami20j@debian:~/trash$ cat a
1 2 3 4 3 2 1
lami20j@debian:~/trash$ sed 's/\s\+/+/g' a
1+2+3+4+3+2+1
lami20j@debian:~/trash$ echo $(($(sed 's/\s\+/+/g' a)))
16

Bon j'espère que tu as compris ;-)
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

ou
[tmpfs]$ cat B
1 2 3 4 3 2 1
[tmpfs]$ A=$(< B)
[tmpfs]$ echo $((${A// /+}))
16
[tmpfs]$
;-))
0
bob031 Messages postés 8158 Date d'inscription   Statut Membre Dernière intervention   473
 
Bonjour,

[bob 62] Scripts > cat a
1 2 3 4 3 2 1
[bob 63] Scripts > numsum -r a
16
[bob 64] Scripts >

ok je sors ---------------------------------> :-)

:-))
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Fait froid ? Oui ? Ben tant mieux ;-DDDDDD
0
bob031 Messages postés 8158 Date d'inscription   Statut Membre Dernière intervention   473
 
Très froid ! -DDDD

mais un jour je reviendrai avec un petit script, un vrai, confectionné avec mes p'tits doigts ! -DD

à titre indicatif :
le paquetage de num-utils c'est ici : http://suso.suso.org/programs/num-utils/
le manpage ici : http://suso.suso.org/programs/num-utils/man1/numsum.html

:-))
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Merci je connaissais pas ;-))
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bob031 Messages postés 8158 Date d'inscription   Statut Membre Dernière intervention   473
 
ben moi non plus, il y a pas 2h ! je voulais trouvé une troisième solution autre que toi et lami20j et en googolant sur "comment additionner des chiffres avec sed ou awk ou autre........sur quoi je tombe ? ...ben sur ça !!!! je l'installe à partir du tar.gz (durée de l'installation approximativement 30 secondes) et hop ! formidable non ? mais bon ça vaut pas un bon petit script écrit à la main !

:-))
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

merci aussi


mais un jour je reviendrai avec un petit script, un vrai, confectionné avec mes p'tits doigts
ben, oui, il t'as fallu quelques heures pour trouver la commande, la solution était la après quelques minutes ;-))))))
mais dans ce rythme on va arrêter de reflechir, et va se contenter de trouver des commandes

c'est null ça et c'est moi qui
------------------------------------------------------------------------------------>









------------------------------------------------------>sors (en plus je viens d'entrer ;-DDDDDDDDDDDDDDDDDd
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Ben ressors de suite alors ;-DDD
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
je l'installe à partir du tar.gz

alors c'est le moment de passer à Debian ;-DDDDDDDDDDDDDDDDDDD
lami20j@debian:~$ aptitude search num-utils
p   num-utils                  - programs for dealing with numbers fr
0
bob031 Messages postés 8158 Date d'inscription   Statut Membre Dernière intervention   473
 
alors ce le moment de passer à Debian
j'hésite ..... -DDDDD

Pour l'instant c'est Mandriva qui travaille ! la Debian , elle est là juste à côté, elle se repose. :-)

Bien tu peux rentrer lami20j. On voudrait pas que tu t'engourdisses les doigts ! -DDDDDDD

:-))

à titre indicatif je rajoute des archives récentes en date de 2007 sur num-utils
http://mailman.suso.org/pipermail/num-utils/2007-October/thread.html
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
j'hésite ..... -DDDDD

alors change la signature ;-DDDDDDDDDDDDDDD
0
bob031 Messages postés 8158 Date d'inscription   Statut Membre Dernière intervention   473
 
alors change la signature

jamais ! :-)

:-))
0
Sblew
 
Merci bcq pr votre aide je vais essayer :) le devoir est reporté à lundi :p
0