【发布时间】:2020-06-19 08:31:31
【问题描述】:
我有一个包含值范围列表的文件:
2 4
6 9
13 14
还有一个如下所示的文件:
HiC_scaffold_1 1 26
HiC_scaffold_1 2 27
HiC_scaffold_1 3 27
HiC_scaffold_1 4 31
HiC_scaffold_1 5 34
HiC_scaffold_1 6 35
HiC_scaffold_1 7 37
HiC_scaffold_1 8 37
HiC_scaffold_1 9 38
HiC_scaffold_1 10 39
HiC_scaffold_1 11 39
HiC_scaffold_1 12 39
HiC_scaffold_1 13 39
HiC_scaffold_1 14 39
HiC_scaffold_1 15 42
我想从文件 2 中排除行,其中第 2 列的值落在文件 1 定义的范围内。理想的输出是:
HiC_scaffold_1 1 26
HiC_scaffold_1 5 34
HiC_scaffold_1 10 39
HiC_scaffold_1 11 39
HiC_scaffold_1 12 39
HiC_scaffold_1 15 42
我知道如何使用 awk 提取单个范围:
awk '$2 == "2", $2 == "4"' file2.txt
但我的文件 1 有很多范围值(行),我需要排除而不是提取与这些值对应的行。
【问题讨论】:
-
看起来第二列等于其行的索引。总是这样吗?