2014-10-01 32 views
0

如何使用awk来总结每两个连续行的第一个字段值。我想将每个偶数行k的第一个字段与来自k + 1的第一个字段值相加,删除奇数行并用求和替换该值。例如:bash-修改基于下一行的偶数行

文件1:

100 apple 
200 green 
300 banana 
400 yellow 

输出:

300 apple 
700 banana 

回答

2
$ awk 'NR%2{v=$1;n=$2;next} {print $1+v,n}' file 
300 apple 
700 banana 
+0

谢谢!如果我在每一行中都有更多的字段,并且想要打印所有这些字段呢?我必须为每个字段使用参数吗? – ahb65 2014-10-01 19:48:00

+0

可能不是,但你; d需要在问题中发布一些示例输入和预期输出以确定知道。 – 2014-10-01 19:50:08

0

这里的另一种解决方案

xargs -n 4 | awk '{print $1 + $3, $2}'