2014-09-11 3 views
-3

File2 содержит группы идентификаторов. Я хотел бы напечатать эти кластеры с file2, где все строки в кластерах находятся в File1.grep кластеры между двумя файлами

Обычно я хотел бы использовать Grep -wf или подобное, но теперь я хочу, чтобы сохранить только те кластеры, которые полностью совпавшие в file1 и печати этих кластеров, разделенных с заголовком ID

Пример:

file1:

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

Алло. Спасибо за сообщение. Что нам нравится в StackOverflow, так это то, что вопросы также включают отправную точку, показывающую код, который уже существует до сих пор. Это скорее сайт для решения проблем и помощи, чем сайт «напишите код для меня». – Sobrique

+0

Вы, кажется, забыли, какой язык программирования вы используете; настройте теги. Кажется, вы забыли задать вопрос; с какой проблемой вы столкнулись? – ikegami

+0

И какая у вас проблема _exact_ - например, какой у Вас вопрос? – jm666

ответ

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 
Смежные вопросы