任何人都可以帮我解决如何使用awk将值集合分组到范围中并将每个范围的最低值打印为输出。
示例文件包含
2
3
4
6
7
8
10
12
13
14
16
18
19
从最小值开始,我想将它们分组为> = 4的区间并打印出最小值
小组应该是
f1rst group
2
3
4
6
second group
7
8
10
third group
12
13
14
fourth group
16
18
19
输出应该是每组的最小值
2
7
12
16
或打印出每组的最大值
6
10
14
19
答案 0 :(得分:0)
使用awk
最小
awk 'NR%4==1' file
2
7
13
19
最高
awk 'NR%4==0' file
6
12
18
获取最小值和最大值。
awk 'ORS=NR%4?FS:RS' file | awk '{for (i=1;i<=NF;i++) {min=$i<min||!min?$i:min; max=$i>max||!max?$i:max} print min,max;min=max=0}'
2 6
7 12
13 18
19 19
第一个awk
组数据,第二个得到max
和min