awk 'NR==1,NR==3'|awk '{a+=$1}END{print a}' awk 'NR==4,NR==6'|awk '{a+=$1}END{print a}' 怎么简化?我有一列数据,每个文件有三行,我想三行的值做个求和,或者说是每个文件的值做个求和自己搞定了 awk '{a+=$1;if(NR%3

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/04 06:36:41
awk 'NR==1,NR==3'|awk '{a+=$1}END{print a}' awk 'NR==4,NR==6'|awk '{a+=$1}END{print a}' 怎么简化?我有一列数据,每个文件有三行,我想三行的值做个求和,或者说是每个文件的值做个求和自己搞定了 awk '{a+=$1;if(NR%3

awk 'NR==1,NR==3'|awk '{a+=$1}END{print a}' awk 'NR==4,NR==6'|awk '{a+=$1}END{print a}' 怎么简化?我有一列数据,每个文件有三行,我想三行的值做个求和,或者说是每个文件的值做个求和自己搞定了 awk '{a+=$1;if(NR%3
awk 'NR==1,NR==3'|awk '{a+=$1}END{print a}' awk 'NR==4,NR==6'|awk '{a+=$1}END{print a}' 怎么简化?
我有一列数据,每个文件有三行,我想三行的值做个求和,或者说是每个文件的值做个求和
自己搞定了
awk '{a+=$1;if(NR%3==0)print a}'
不知道还有其他方法么
好像还是没对,输出的数据是累加没有清零
下面这句清零了,但是后面有0的尾巴
awk '{a+=$1;if(NR%3==0)print a,a=0}'

awk 'NR==1,NR==3'|awk '{a+=$1}END{print a}' awk 'NR==4,NR==6'|awk '{a+=$1}END{print a}' 怎么简化?我有一列数据,每个文件有三行,我想三行的值做个求和,或者说是每个文件的值做个求和自己搞定了 awk '{a+=$1;if(NR%3
awk '{a+=$1;if(NR%3==0){print a;a=0}}' your_file
这样就行了,但如果文件的行数不是三的倍数,那么最后1~2行的和不会输出
如果需要输出最后1~2行的和,在最后判断一下就好了,如下:
awk '{a+=$1;if(NR%3==0){print a;a=0}}END{if(NR%3!=0)print a}' file