1
1楼 yyt 2009-07-11 如下题:
文本:test.log X001 100 X002 121 X003 12 X004 13 X005 14 X006 23 X007 344 X008 1234 X009 1 X010 10 X011 123 其中第二列为数值,以第二列数值之和为200分段,如下: X001 X002 221 ---------前两行之和大于200,打印第一列开始结束值 X003 X007 406 ---------第3,4,5,6,7行的第二列值和大于200,打印第一列开始结束值 X008 X008 1234 ---------第8行的第二列值本身已大于200,打印第一列开始结束值 X009 X011 134 ---------文本结束,虽不足200值,仍打印第一列开始结束值。 各位高手,有没有更优更简单的实现方法? 引用blackold awk 'f{t+=$2}!f{printf $1;f=!f;t=$2}t>200{printf "\t%s\t%s\n", $1,t;f=!f}END{if(f)printf "\t%s\t%s\n",$1,t}' urfile 原帖网址: http://bbs.chinaunix.net/viewthread.php?tid=1494897
搜索墙@2009 www.pkwall.com all rights reserved QQ:276471788 [京ICP备09111534号]
声明:本站部分数据来源于网络,仅供参考,如有版权问题,请联系我们,我们将及时删除!转载本站请注明来源
| ||||||||||||||||||||||||||||||||||||||||