如何将两个awk命令的输出合并到一个制表符分隔的文件中?

时间:2018-06-19 17:17:12

标签: awk

这是我的文件的样子:

$ head file.txt
100 495.03
101 503.76
102 512.28
103 520.75
104 529.17
105 537.37
106 545.4
107 553.33
108 561.19
109 568.92

我想从第一个字段每隔第5行打印一次,并打印前5行的平均值的平均值,然后对文件的其余部分进行打印(从第一个字段打印第10行,第二个字段的平均值为5-10)。

输出应为:

104 512.198
109 728.352

这有效:

awk 'NR % 7 == 0 {print $2; next} {sum+=$1} NR%5==0 {print sum/5; sum=0}'

但是将结果打印在新行上;我希望将它们打印在一个文件中的两个不同字段中,空格或制表符分隔!

我尝试在开始时指定BEGIN { OFS = "\t" },但没有成功。

先谢谢您。

1 个答案:

答案 0 :(得分:2)

请问您能不能尝试,如果有帮助请告诉我。

awk '{sum+=$2;count++} FNR%5==0{print $1,(sum/count);count=sum=""}' Input_file