I have a file which contains several thousand numbers, each on its own line:
34
42
11
6
2
99
...
I’m looking to write a script which will print the sum of all numbers in the file. I’ve got a solution, but it’s not very efficient. (It takes several minutes to run.) I’m looking for a more efficient solution. Any suggestions?
For a Perl one-liner, it’s basically the same thing as the
awksolution in Ayman Hourieh’s answer:If you’re curious what Perl one-liners do, you can deparse them:
The result is a more verbose version of the program, in a form that no one would ever write on their own:
Just for giggles, I tried this with a file containing 1,000,000 numbers (in the range 0 – 9,999). On my Mac Pro, it returns virtually instantaneously. That’s too bad, because I was hoping using
mmapwould be really fast, but it’s just the same time: