我想过滤一个文件,以便我可以获得在第 1 列中匹配但在第 2 列中不匹配的行。在以下示例中:
00b27c71-a833-4605-9fb3-a2714ac98092 ENST00000352983.6 157 60 16
00d77e65-466e-4fe6-ad0f-bc6b3f44af75 ENST00000367142.4 130 12 4
00d77e65-466e-4fe6-ad0f-bc6b3f44af75 ENST00000367142.4 8 60 0
00b27c71-a833-4605-9fb3-a2714ac98091 ENST00000258424.2 12 60 2048
00b27c71-a833-4605-9fb3-a2714ac98091 ENST00000352983.6 157 60 16
00d77e65-466e-4fe6-ad0f-bc6b3f44af74 ENST00000367142.5 130 12 4
00d77e65-466e-4fe6-ad0f-bc6b3f44af74 ENST00000367142.7 8 60 0
00d77e65-466e-4fe6-ad0f-bc6b3f44af74 ENST00000258424.2 8 60 0
我想在第 1 列中找到恰好出现两次的整体,并且在第 2 列中不匹配,即应该忽略组合 column1、column2 中的重复项。所以预期的输出是:
00b27c71-a833-4605-9fb3-a2714ac98091 ENST00000258424.2 12 60 2048
00b27c71-a833-4605-9fb3-a2714ac98091 ENST00000352983.6 157 60 16
第 3、4、5 等列中的内容对于过滤并不重要,但我确实需要保留这些信息。
我还需要从另一个输出中将其输入,这是读取文件并保留标题所必需的。所以我需要一些格式:
samtools view -h file.bam | code that I need > results.bam
我尝试了几个版本的awk,但都无济于事。任何帮助将非常感激。