两个文件之间的grep集群

时间:2014-09-11 13:35:56

标签: r perl awk grep

File2包含ID群集。我想从file2打印这些群集,其中群集中的所有字符串都在File1中找到。

通常我会使用grep -wf或类似的,但现在我只想保留file1中完全匹配的群集,并打印用标题ID分隔的群集

示例:

文件1:

mmu-mir-344d-2
mmu-mir-344d-1
mmu-mir-202
mmu-mir-486a
mmu-mir-486b

file2的

ID
mmu-mir-344d-2
mmu-mir-344d-1
ID
mmu-mir-202
mmu-mir-7686
ID
mmu-mir-486a
mmu-mir-486b

输出:

ID
mmu-mir-486a
mmu-mir-486b

ID
mmu-mir-344d-2
mmu-mir-344d-1

1 个答案:

答案 0 :(得分:1)

这一行应该:

awk 'NR==FNR{a[$0]=7;next}{for(i=1;i<=NF;i++)if($0&&!a[$i])next}
                           FNR>1{print "ID"$0}' file1 RS="ID" file2