2014-09-11 42 views
-3

File2包含ID集群。我想从file2中打印出群集中的所有字符串都在File1中找到的群集。两个文件之间的grep集群

通常我会用grep -wf或相似的,但现在我想只保留了在file1完全匹配的集群,并与打印头分离这些集群ID

例子:

文件1:

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

文件2

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 
+0

喂。感谢这篇文章。我们在StackOverflow上喜欢的是,问题还包括显示迄今为止已存在的代码的起点。这更像是一个解决问题和援助网站,而不是“请为我写代码”网站。 – Sobrique 2014-09-11 13:40:12

+0

您似乎忘记了您正在使用哪种编程语言;请调整标签。你似乎忘记提问了,你遇到什么问题? – ikegami 2014-09-11 13:40:18

+0

什么是你的_exact_问题 - 例如你的问题是什么? – jm666 2014-09-11 13:40:33

回答

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