how to sum variables from file in bashHow to name a file in the deepest level of a directory treeUse & (ampersand) in single line bash loopScript with multiple arithmetic conditions failingbash division of numbers in text fileProblem with data comparison in if loopArithmetic syntax error with a number variablePrint file line-by-line, but handle the file changing mid-executionPutting string read from file inside double quotebash script to find files thinks the file name should be an integerString to integer in Shell

Mac Pro install disk keeps ejecting itself

how to sum variables from file in bash

Error message with tabularx

Does holding a wand and speaking its command word count as V/S/M spell components?

What is the relationship between spectral sequences and obstruction theory?

Why do games have consumables?

Does a semiconductor follow Ohm's law?

US visa is under administrative processing, I need the passport back ASAP

What does the "ep" capability mean?

Do I have to worry about players making “bad” choices on level up?

Why do Computer Science majors learn Calculus?

Adjust deraillers after changing chain?

What is the difference between `command a[bc]d` and `command `ab,cd`

Why does processed meat contain preservatives, while canned fish needs not?

Why was the Spitfire's elliptical wing almost uncopied by other aircraft of World War 2?

Sci fi novel series with instant travel between planets through gates. A river runs through the gates

What makes accurate emulation of old systems a difficult task?

With a Canadian student visa, can I spend a night at Vancouver before continuing to Toronto?

Examples of subgroups where it's nontrivial to show closure under multiplication?

What are the potential pitfalls when using metals as a currency?

How can Republicans who favour free markets, consistently express anger when they don't like the outcome of that choice?

How could Tony Stark make this in Endgame?

What does KSP mean?

Is the 5 MB static resource size limit 5,242,880 bytes or 5,000,000 bytes?



how to sum variables from file in bash


How to name a file in the deepest level of a directory treeUse & (ampersand) in single line bash loopScript with multiple arithmetic conditions failingbash division of numbers in text fileProblem with data comparison in if loopArithmetic syntax error with a number variablePrint file line-by-line, but handle the file changing mid-executionPutting string read from file inside double quotebash script to find files thinks the file name should be an integerString to integer in Shell






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








1















Hello I need to sum numbers from a file line by line.



The file:



1.0
0.46
0.67


I want to sum, then divide 3.



I currently have:



while IFS= read -r var
do
x=$(($var + $x)) | bc -l
done < "file.txt"
echo "$x / 3"


My error:



-bash: 1.0 + 0: syntax error: invalid arithmetic operator (error token is ".0 + 0")









share|improve this question






























    1















    Hello I need to sum numbers from a file line by line.



    The file:



    1.0
    0.46
    0.67


    I want to sum, then divide 3.



    I currently have:



    while IFS= read -r var
    do
    x=$(($var + $x)) | bc -l
    done < "file.txt"
    echo "$x / 3"


    My error:



    -bash: 1.0 + 0: syntax error: invalid arithmetic operator (error token is ".0 + 0")









    share|improve this question


























      1












      1








      1








      Hello I need to sum numbers from a file line by line.



      The file:



      1.0
      0.46
      0.67


      I want to sum, then divide 3.



      I currently have:



      while IFS= read -r var
      do
      x=$(($var + $x)) | bc -l
      done < "file.txt"
      echo "$x / 3"


      My error:



      -bash: 1.0 + 0: syntax error: invalid arithmetic operator (error token is ".0 + 0")









      share|improve this question
















      Hello I need to sum numbers from a file line by line.



      The file:



      1.0
      0.46
      0.67


      I want to sum, then divide 3.



      I currently have:



      while IFS= read -r var
      do
      x=$(($var + $x)) | bc -l
      done < "file.txt"
      echo "$x / 3"


      My error:



      -bash: 1.0 + 0: syntax error: invalid arithmetic operator (error token is ".0 + 0")






      bash arithmetic






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 2 hours ago









      Jesse_b

      14.7k33574




      14.7k33574










      asked 2 hours ago









      AhmetMelihBaşbuğAhmetMelihBaşbuğ

      1175




      1175




















          3 Answers
          3






          active

          oldest

          votes


















          3














          bash/shell arithmetic can't handle floating point arithmetic. You can accomplish your task using awk:



          awk 'sum= sum+$1 END print sum/3' file


          This will read through your file and add each line to sum then after it completes reading the file it will print sum divided by 3.






          share|improve this answer






























            1














            Just for fun



            $ paste -sd+ file | dc -e2k0 -f- -e+3/p
            .71





            share|improve this answer






























              0














              Try this:



              x=0
              while IFS= read -r var; do
              x="$(echo "$var + $x" | bc -l)"
              done < "file.txt"
              echo "$x / 3" | bc -l



              1. x was not defined.

              2. You need an echo for bc to work (not mixed bash arithmetic).





              share|improve this answer























                Your Answer








                StackExchange.ready(function()
                var channelOptions =
                tags: "".split(" "),
                id: "106"
                ;
                initTagRenderer("".split(" "), "".split(" "), channelOptions);

                StackExchange.using("externalEditor", function()
                // Have to fire editor after snippets, if snippets enabled
                if (StackExchange.settings.snippets.snippetsEnabled)
                StackExchange.using("snippets", function()
                createEditor();
                );

                else
                createEditor();

                );

                function createEditor()
                StackExchange.prepareEditor(
                heartbeatType: 'answer',
                autoActivateHeartbeat: false,
                convertImagesToLinks: false,
                noModals: true,
                showLowRepImageUploadWarning: true,
                reputationToPostImages: null,
                bindNavPrevention: true,
                postfix: "",
                imageUploader:
                brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
                contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
                allowUrls: true
                ,
                onDemand: true,
                discardSelector: ".discard-answer"
                ,immediatelyShowMarkdownHelp:true
                );



                );













                draft saved

                draft discarded


















                StackExchange.ready(
                function ()
                StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f515923%2fhow-to-sum-variables-from-file-in-bash%23new-answer', 'question_page');

                );

                Post as a guest















                Required, but never shown

























                3 Answers
                3






                active

                oldest

                votes








                3 Answers
                3






                active

                oldest

                votes









                active

                oldest

                votes






                active

                oldest

                votes









                3














                bash/shell arithmetic can't handle floating point arithmetic. You can accomplish your task using awk:



                awk 'sum= sum+$1 END print sum/3' file


                This will read through your file and add each line to sum then after it completes reading the file it will print sum divided by 3.






                share|improve this answer



























                  3














                  bash/shell arithmetic can't handle floating point arithmetic. You can accomplish your task using awk:



                  awk 'sum= sum+$1 END print sum/3' file


                  This will read through your file and add each line to sum then after it completes reading the file it will print sum divided by 3.






                  share|improve this answer

























                    3












                    3








                    3







                    bash/shell arithmetic can't handle floating point arithmetic. You can accomplish your task using awk:



                    awk 'sum= sum+$1 END print sum/3' file


                    This will read through your file and add each line to sum then after it completes reading the file it will print sum divided by 3.






                    share|improve this answer













                    bash/shell arithmetic can't handle floating point arithmetic. You can accomplish your task using awk:



                    awk 'sum= sum+$1 END print sum/3' file


                    This will read through your file and add each line to sum then after it completes reading the file it will print sum divided by 3.







                    share|improve this answer












                    share|improve this answer



                    share|improve this answer










                    answered 2 hours ago









                    Jesse_bJesse_b

                    14.7k33574




                    14.7k33574























                        1














                        Just for fun



                        $ paste -sd+ file | dc -e2k0 -f- -e+3/p
                        .71





                        share|improve this answer



























                          1














                          Just for fun



                          $ paste -sd+ file | dc -e2k0 -f- -e+3/p
                          .71





                          share|improve this answer

























                            1












                            1








                            1







                            Just for fun



                            $ paste -sd+ file | dc -e2k0 -f- -e+3/p
                            .71





                            share|improve this answer













                            Just for fun



                            $ paste -sd+ file | dc -e2k0 -f- -e+3/p
                            .71






                            share|improve this answer












                            share|improve this answer



                            share|improve this answer










                            answered 1 hour ago









                            steeldriversteeldriver

                            38.2k45489




                            38.2k45489





















                                0














                                Try this:



                                x=0
                                while IFS= read -r var; do
                                x="$(echo "$var + $x" | bc -l)"
                                done < "file.txt"
                                echo "$x / 3" | bc -l



                                1. x was not defined.

                                2. You need an echo for bc to work (not mixed bash arithmetic).





                                share|improve this answer



























                                  0














                                  Try this:



                                  x=0
                                  while IFS= read -r var; do
                                  x="$(echo "$var + $x" | bc -l)"
                                  done < "file.txt"
                                  echo "$x / 3" | bc -l



                                  1. x was not defined.

                                  2. You need an echo for bc to work (not mixed bash arithmetic).





                                  share|improve this answer

























                                    0












                                    0








                                    0







                                    Try this:



                                    x=0
                                    while IFS= read -r var; do
                                    x="$(echo "$var + $x" | bc -l)"
                                    done < "file.txt"
                                    echo "$x / 3" | bc -l



                                    1. x was not defined.

                                    2. You need an echo for bc to work (not mixed bash arithmetic).





                                    share|improve this answer













                                    Try this:



                                    x=0
                                    while IFS= read -r var; do
                                    x="$(echo "$var + $x" | bc -l)"
                                    done < "file.txt"
                                    echo "$x / 3" | bc -l



                                    1. x was not defined.

                                    2. You need an echo for bc to work (not mixed bash arithmetic).






                                    share|improve this answer












                                    share|improve this answer



                                    share|improve this answer










                                    answered 2 hours ago









                                    FreddyFreddy

                                    2,241210




                                    2,241210



























                                        draft saved

                                        draft discarded
















































                                        Thanks for contributing an answer to Unix & Linux Stack Exchange!


                                        • Please be sure to answer the question. Provide details and share your research!

                                        But avoid


                                        • Asking for help, clarification, or responding to other answers.

                                        • Making statements based on opinion; back them up with references or personal experience.

                                        To learn more, see our tips on writing great answers.




                                        draft saved


                                        draft discarded














                                        StackExchange.ready(
                                        function ()
                                        StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f515923%2fhow-to-sum-variables-from-file-in-bash%23new-answer', 'question_page');

                                        );

                                        Post as a guest















                                        Required, but never shown





















































                                        Required, but never shown














                                        Required, but never shown












                                        Required, but never shown







                                        Required, but never shown

































                                        Required, but never shown














                                        Required, but never shown












                                        Required, but never shown







                                        Required, but never shown







                                        Popular posts from this blog

                                        The fall designs the understood secretary. Looking glass Science Shock Discovery Hot Everybody Loves Raymond Smile 곳 서비스 성실하다 Defas Kaloolon Definition: To combine or impregnate with sulphur or any of its compounds as to sulphurize caoutchouc in vulcanizing Flame colored Reason Useful Thin Help 갖다 유명하다 낙엽 장례식 Country Iron Definition: A fencer a gladiator one who exhibits his skill in the use of the sword Definition: The American black throated bunting Spiza Americana Nostalgic Needy Method to my madness 시키다 평가되다 전부 소설가 우아하다 Argument Tin Feeling Representative Gym Music Gaur Chicken 일쑤 코치 편 학생증 The harbor values the sugar. Vasagle Yammoe Enstatite Definition: Capable of being limited Road Neighborly Five Refer Built Kangaroo 비비다 Degree Release Bargain Horse 하루 형님 유교 석 동부 괴롭히다 경제력

                                        Sahara Skak | Bilen | Luke uk diar | NawigatsjuunCommonskategorii: SaharaWikivoyage raisfeerer: Sahara26° N, 13° O

                                        19. јануар Садржај Догађаји Рођења Смрти Празници и дани сећања Види још Референце Мени за навигацијуу