2016-05-04 70 views
2

我有一个制表符分隔的文本文件,它看起来像这样:提取一列中的值等于另一列+1中的值的行吗?

1 10019 10020 rs775809821 
1 10055 10055 rs768019142 
1 10107 10108 rs62651026 
1 10108 10109 rs376007522 
1 10128 10128 rs796688738 
1 10138 10139 rs368469931 
1 10144 10145 rs144773400 
1 10146 10147 rs779258992 
1 10149 10150 rs371194064 
1 10165 10165 s796884232 

我想提取其中的第2列的值是列1 + 1等于该值的行,并引导他们到一个新的文件。因此,对于上面的例子中,所需的输出将是:

1 10019 10020 rs775809821 
1 10107 10108 rs62651026 
1 10108 10109 rs376007522 
1 10138 10139 rs368469931 
1 10144 10145 rs144773400 
1 10146 10147 rs779258992 
1 10149 10150 s371194064 

我认为这是可以用awk来完成,但我不知道从哪里开始。任何投入将不胜感激。

回答

3
awk '$3 == $2 + 1' <input> output 
相关问题