在编辑awk代码时需要帮助,以打印范围内的最小值

用户名

感谢Origineil在修改awk脚本方面的帮助。如果间隔是整数,则awk脚本可以正常工作,但是如果我使用小于0.2的间隔,则输出错误。我有一个包含此数据的文件“ sss”:

H34   5.0856    5.45563
H39   5.0857    5.45573
H26   6.4822    6.81033
H30   6.4822    6.81033
H32   6.4823    6.81043
H40   6.4824    6.81053
H33   7.6729    7.96531
H27   7.673     7.96541
H31   7.6731    7.96551
H38   7.6731    7.96551
H29   8.5384    8.80485
H28   8.5387    8.80514
H35   8.5387    8.80514
H37   8.5387    8.80514
H41   9.9078    10.1332
H36   9.9087    10.134

如果我再运行awk命令

    awk '!e{e=$2+0.2;} $2-e>0{print "Range " ++i , c " entries. min: " min " max: " max ; e+=0.2; c=0; min=""} {if(!min)min=$2; c++; max=$2} END{print "Range " ++i , c " entries. min: " min " max: " max} ' ss

它给出的输出值之间的差异不超过脚本中指示的0.2:

 Range 1 2 entries. min: 5.0856 max: 5.0857
 Range 2 1 entries. min: 6.4822 max: 6.4822
 Range 3 1 entries. min: 6.4822 max: 6.4822
 Range 4 1 entries. min: 6.4823 max: 6.4823
 Range 5 1 entries. min: 6.4824 max: 6.4824
 Range 6 1 entries. min: 7.6729 max: 7.6729
 Range 7 1 entries. min: 7.673 max: 7.673
 Range 8 1 entries. min: 7.6731 max: 7.6731
 Range 9 1 entries. min: 7.6731 max: 7.6731
 Range 10 1 entries. min: 8.5384 max: 8.5384
 Range 11 1 entries. min: 8.5387 max: 8.5387
 Range 12 1 entries. min: 8.5387 max: 8.5387
 Range 13 1 entries. min: 8.5387 max: 8.5387
 Range 14 1 entries. min: 9.9078 max: 9.9078
 Range 15 1 entries. min: 9.9087 max: 9.9087

有人可以帮我这个忙吗?

提前致谢。

起源

通过minimummaximum我假定你的意思的范围内看到的第一个和最后一个条目。

对于提供的输入,我更改18为,17以便并非所有的“ max”值也都是该范围的上限。

脚本:

awk '!e{e=$1+4;} $1-e>0{print "Range " ++i , c " entries. min: " min " max: " max ; e+=4; c=0; min=""} {if(!min)min=$1; c++; max=$1} END{print "Range " ++i , c " entries. min: " min " max: " max} ' file

我介绍了两个变量minmax跟踪条目。

输出:

 Range 1 4 entries. min: 2 max: 6
 Range 2 3 entries. min: 7 max: 10
 Range 3 3 entries. min: 12 max: 14
 Range 4 2 entries. min: 16 max: 17
 Range 5 1 entries. min: 19 max: 19

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

打印出列表中某个范围内的最大值/最小值

获取范围内给定范围内的最小值,范围最小/最大增量

值> 0时如何获得最小值到范围内?

Excel:在范围内找到最小值

使用 awk 打印值范围内的值

在DataFrame中获取特定日期范围内的最小值和最大值

如何在arraylist的范围内找到最大值或最小值?

在范围内查找最小值和最大值

特定范围内Python中NumPy数组的最小值和最大值

如何找到特定日期范围内的最小值和最大值

自变量范围内的最大值和最小值

搜索特定范围内的最大值和最小值 - 随机

Pandas DataFrame:如何在行和列范围内本地获取最小值

将石墨指标偏移当前时间范围内的最小值

Kotlin - 在索引范围内的 IntArray 中查找最小值

如何使用Python计算特定范围内多项式的最小值?

MySQL查询范围内的最小值不在表中

范围内数据框所有列的最小值

Excel VBA根据对应范围的最小值到最大值查找范围内的单元格地址

在编辑记录时需要帮助隐藏url id

在编辑csv文件中的数据时需要帮助

Java:在一定范围内(包括范围内的最小值和最大值)生成随机双精度数

使用局部最小值和全局最大值查找范围内的所有数字

如何在R的最小值的一定范围内找到向量中的值数?

Excel-显示数据范围内的平均值,最小值和最大值的汇总计数

使用SMALL函数检索范围内的最小值,尝试与OFFSET组合以将值取到左侧

VBA 对于 Excel,尝试获取范围内每一行的最大值/最小值。

在 matlab 中查找在数组或矩阵范围内计算的最小值或最大值的索引

使用 awk 打印最小值和最大值