bash - awk 比较两个文件 - 从第一个文件的条件中删除第二个文件的行

标签 bash awk compare

我需要一些帮助。

第一个文件

0.5
0.4
0.1
0.6
0.9

第二个文件.bam (我必须使用 samtools View )

aaaa bbbb cccc 
aaab bbaa ccaa
hoho jojo toto
sese rere baba
jouj douj trou

我需要输出:

aaaa bbbb cccc
aaab bbaa ccaa
sese rere baba

条件:如果第一个文件中的 $1 在 <0.3;0.6> 中,则打印第二个文件中的同一行,如果不是,则将其删除。我想从第一个文件的条件中获取第二个文件的滤液。我更喜欢 awk 或 bash 代码,但这并不重要。

第一个文件的条件:

awk '{if($1>0.3 && $1<0.6) {print $0}}'

请问你能帮帮我吗? 非常感谢

最佳答案

另一种方式

paste file1 file2 | awk '$1<=0.6&&$1>=0.3{$1="";print substr($0,2) }'

关于bash - awk 比较两个文件 - 从第一个文件的条件中删除第二个文件的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24448657/

相关文章:

regex - 正则表达式的解释

bash - 无法让 Chef 在特定用户下运行 bash

bash - RVM 和 Gemfile - 并不总是加载正确的 ruby​​,只有在 'cd .. & cd myproject' 时

c# - 如何在C#中比较两个波形的相似性?

c++ - 如何在 C++ 中将类的实例与 char * 变量进行比较?

python - 创建单独转义的单引号和双引号,其中也存在换行符/python

csv - AWK - 处理大型 CSV(130 亿行)以获取基于多列(复合键)的重复数据会导致内存不足错误

html - 如何使用awk根据其他字段求和字段

linux - 列中的最小值和最大值

javascript - 在 JS 中比较两个数组并显示错误索引