首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用awk拆分进行过滤

使用awk拆分进行过滤
EN

Stack Overflow用户
提问于 2018-12-05 07:31:51
回答 1查看 309关注 0票数 0

我有一个以下格式的文本文件

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之间。我认为问题出在我的条件语句中,因为当它被删除时,它会成功打印出来。有人能告诉我哪里出了问题吗?

编辑:发布了一个不好的例子,我确实有一些项目应该通过过滤,但没有通过。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53622976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档