Bash:比较一个值是否包含在一个区间内
Bash: compare if a value is contained within an interval
我得到了一个文本文件,它是制表符分隔的,包含 2 列,如下所示:
1227637 1298347
1347879 1356788
1389993 1399847
... ...
现在我从分析中得到了一些值,我想检查这些值是否包含在我的文本文件间隔中。
例如,如果我有 1227659
,它包含在第一个间隔中,我希望 bash-脚本打印到 std out
,例如:
1227659 is contained between 1227637 and 1298347
谢谢。
怎么样:
awk -v x=1227659 '
<x && x< {print x, "is contained between", , "and", }
' intervals.txt
1227659 is contained between 1227637 and 1298347
如果您希望间隔的任何末端被解释为包含在内,请相应地将 <
更改为 <=
。如果您想在第一次匹配后停止(只有间隔可以重叠才有意义),请在右大括号 }
.
之前添加 ; exit
我得到了一个文本文件,它是制表符分隔的,包含 2 列,如下所示:
1227637 1298347
1347879 1356788
1389993 1399847
... ...
现在我从分析中得到了一些值,我想检查这些值是否包含在我的文本文件间隔中。
例如,如果我有 1227659
,它包含在第一个间隔中,我希望 bash-脚本打印到 std out
,例如:
1227659 is contained between 1227637 and 1298347
谢谢。
怎么样:
awk -v x=1227659 '
<x && x< {print x, "is contained between", , "and", }
' intervals.txt
1227659 is contained between 1227637 and 1298347
如果您希望间隔的任何末端被解释为包含在内,请相应地将 <
更改为 <=
。如果您想在第一次匹配后停止(只有间隔可以重叠才有意义),请在右大括号 }
.
; exit