我已经开始使用Linux机器,我正在尝试做简单的事情......但对我来说非常困难。 我需要选择一些与第二个文件中报告的行匹配的特定行。 Pratically我有一个由这样的第一个文件:grep或awk匹配一条线和以下具有特定模式
>aba19 EN1 enl.or11 http://mar2043 annotation not avaliable
MASESEMGVVASJDHAGISFGVDDASDASDAFGDFGHWFACFQLIGIFLAYCLSRAITNN
QSDHKAJSDHKASJHKJAHKHKJSDGHYEIV
>clat38 EN2 enl.o http://mar20s/Gene/Summary?5 annotation not avaliable
MNCEDCHILNAEAFKSKKDASDADICKSLKICGLVFGILALTLIVLFWGSKHFWPEVPKK
AYDMEHTFYSNGERGYCCASDSDDIYCSDRRGNRYCRRVCEPLLGYYPYPYCYQGGRVIC
RVIMPCDASDASDAOPWEIPQWFHNDJBVHAOISDOUIAODGNWWVARMLGRV
>coll9 EN4 ens4 http://mar2010.arch/Genary?g=E9 annotation not avaliable
MASKALDHLFKLJLÒFJASDJKLASDLAFJLFJFJLFJLAJFLKJFLAKFJFJLAFJLAL
ASDLASKDJASLKDJASLKJFALSKDJALKDJSKLDJLSDKJASLDKJSLDKSDLAKJKS
SILDUAISDALSDJALKDJASDLFATT
>hihi9 EN9 ens44 http://mar2010.ariens/Geary?g=EN7 annotation not avaliable
MGSLDLAÈPWOEMWBZMKSJDHAJKSDHAKSDHSDHSDHOASDAKSJDHKASJDHAAKHL
KTLSDKLHRFSDFHPHFGCJLJLJRKKFLDSFCGTVGEFAGGGDTHNNVCLSSVFVSEDG
HSDFSDWFKLGGMETVCSDFKVSQATPEFSSSDLFFDSRIQSIRDPASIPPEEMSPEFTT
LPECHGHARDAFSFGTLVESLLTILNEQVSADVLSSFQQTLHSTLLNPIPKCRPALCTLL
SDFLSDJFKLSDFLSKDFJM
我必须跟的,我需要从第一个文件中“提取”模式列表中的第二个文件。第二个文件是这样的:
>clat38
>coll9
Pratically我想有一个像这样的输出:
>clat38 EN2 enl.o http://mar20s/Gene/Summary?5 annotation not avaliable
MNCEDCHILNAEAFKSKKDASDADICKSLKICGLVFGILALTLIVLFWGSKHFWPEVPKK
AYDMEHTFYSNGERGYCCASDSDDIYCSDRRGNRYCRRVCEPLLGYYPYPYCYQGGRVIC
RVIMPCDASDASDAOPWEIPQWFHNDJBVHAOISDOUIAODGNWWVARMLGRV
>coll9 EN4 ens4 http://mar2010.arch/Genary?g=E9 annotation not avaliable
MASKALDHLFKLJLÒFJASDJKLASDLAFJLFJFJLFJLAJFLKJFLAKFJFJLAFJLAL
ASDLASKDJASLKDJASLKJFALSKDJALKDJSKLDJLSDKJASLDKJSLDKSDLAKJKS
SILDUAISDALSDJALKDJASDLFATT
我tryed grep -f file_2 file_1 > output
,但我只得到这样的:
>clat38
>coll9
我可能添加更多特定于grep的内容? 谢谢你的任何建议! 加布
更新您的预计产量,因为你不能从你更新的输入文件输出。另外 - 你是否还想在你的关键值之后获得第一行,或者你现在是否需要将所有行取出下一个关键值? – 2013-02-15 14:04:04
@EdMorton我需要得到第一行,剩下的就是下一个关键值! – Gabelins 2013-02-15 14:10:39