Aide Script Très Simple

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
Configuration: Linux
Firefox 2.0.0.3

11 réponses

  1. Merci bcq pr votre aide je vais essayer :) le devoir est reporté à lundi :p
    1. Modérateur
      j'hésite ..... -DDDDD

      alors change la signature ;-DDDDDDDDDDDDDDD
      1. 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
        1. Modérateur
          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
          
          1. Modérateur
            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
            1. Modérateur
              Ben ressors de suite alors ;-DDD
          2. 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 !

            :-))
            1. 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 ---------------------------------> :-)

              :-))
              1. Modérateur
                Fait froid ? Oui ? Ben tant mieux ;-DDDDDD
            2. Modérateur
              Salut,

              ou
              [tmpfs]$ cat B
              1 2 3 4 3 2 1
              [tmpfs]$ A=$(< B)
              [tmpfs]$ echo $((${A// /+}))
              16
              [tmpfs]$
              ;-))
              1. Modérateur
                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
                

                1. 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
                2. Modérateur
                  @SblewSalut,

                  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 ;-)