我已經開始使用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