我想获得两列值的总和。我想分别得到每个结果。这是我的价值观:
命令
iostat -x 1 2 \
| perl -e 'local $/=""; @p=<STDIN>; print @p[4];' \
| awk '{ print $6 " " $7}' \
| grep -v rsec
输出
0.00 1608.00
22.00 0.00
10.00 1608.00
0.00 1312.00
0.00 0.00
0.00 0.00
0.00 296.00
我想要这个结果
32.00 4824.00
这是我试过的:
iostat -x 1 2 \
| perl -e 'local $/=""; @p=<STDIN>; print @p[4];' \
| awk '{ print $6 " " $7}' \
| grep -v rsec \
| awk '{ SUM += $1 SUM2 += $2} END { print SUM " " SUM2}'
这个命令给我一个语法错误。这是什么解决方案?
答案 0 :(得分:4)
根据手册页,awk
中的命令可以用换行符,分号或两者分隔。你的两个命令没有被这些东西分开。解决方案是写:
| awk '{ SUM += $1; SUM2 += $2} END { print SUM " " SUM2}'