我有一个以下格式的文本文件
build:chr:pos sample_1 sample_2 ...
38:1:189665 1 1
38:1:416546 0 0 ...
38:1:9000 0 1 ...
... ... ... ...
我试图根据第一列中每个项目的位置对其进行过滤。我的思考过程是,使用awk的split
,我可以获取包含pos的子串,并根据给定的阈值对其进行过滤。这是我当前的awk语句
awk -v upper_bound=100000 -v lower_bound=100
'{
split($1,a,":");
if (a[3] < upper_bound && a[3] >= lower_bound)
print $0
}'
目前,它正在产生空输出。它应该打印出所有这些项目的位置在100-100000之间。我认为问题出在我的条件语句中,因为当它被删除时,它会成功打印出来。有人能告诉我哪里出了问题吗?
编辑:发布了一个不好的例子,我确实有一些项目应该通过过滤,但没有通过。
https://stackoverflow.com/questions/53622976
复制相似问题