2014-09-11 85 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