Jack 10 J 10 A 20 Lu cal 20 A bc U 20
I want to get the sum of these nums: 10+10+20+20+20 = 80
but I can't use cat input|cut -d " " -f 3
to get the num, how can I do it?
The most basic approach is to open the file and read the contents and then calculate the sum of all the numbers by making use of the do while loop.
You can use grep + paste + bc
$ grep -oE '[0-9]+' file
10
10
20
20
20
$ grep -oE '[0-9]+' file | paste -s -d + -
10+10+20+20+20
$ grep -oE '[0-9]+' file | paste -s -d + - | bc
80
instead grep, you can use cut
$ cut -c 8- file
or just awk
$ awk '{print $NF}' file
BUT if you can use awk, you can sum using awk
$ awk '{total += $NF} END { print total }' file
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With