unix – bc:获取num列表的总和


Jack   10
J      10 
A      20 
Lu cal 20
A bc U 20

我想得到这些数字的总和:10 10 20 20 20 = 80

但是我不能用cat input | cut -d“” – f 3来获取num,我该怎么办呢?

你可以使用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

而不是grep,你可以使用cut

$cut -c 8- file

或者只是awk

$awk '{print $NF}' file

但是如果你可以使用awk,你可以使用awk求和

$awk '{total += $NF} END { print total }' file
相关文章
相关标签/搜索