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
用来获取数字,我怎么能这样做?
Tia*_*nyj 12
你可以使用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
Run Code Online (Sandbox Code Playgroud)
而不是grep,你可以使用cut
$ cut -c 8- file
Run Code Online (Sandbox Code Playgroud)
或者只是awk
$ awk '{print $NF}' file
Run Code Online (Sandbox Code Playgroud)
但是如果你可以使用awk,你可以使用awk求和
$ awk '{total += $NF} END { print total }' file
Run Code Online (Sandbox Code Playgroud)