我有以下兩個文件:
sequences.txt
158333741 Acaryochloris_marina_MBIC11017_uid58167 158333741 432 1 432 COG0001 0
158339504 Acaryochloris_marina_MBIC11017_uid58167 158339504 491 1 491 COG0002 0
379012832 Acetobacterium_woodii_DSM_1030_uid88073 379012832 430 1 430 COG0001 0
302391336 Acetohalobium_arabaticum_DSM_5501_uid51423 302391336 441 1 441 COG0003 0
311103820 Achromobacter_xylosoxidans_A8_uid59899 311103820 425 1 425 COG0004 0
332795879 Acidianus_hospitalis_W1_uid66875 332795879 369 1 369 COG0005 0
332796307 Acidianus_hospitalis_W1_uid66875 332796307 416 1 416 COG0005 0
allids.txt
COG0001
COG0002
COG0003
COG0004
COG0005
現在我想要閱讀allids.txt
中的每一行,搜索sequences.txt
中的所有行(具體在第7列中),並在中分別編寫一個文件名爲$line
的文件。
我的方法是使用一個簡單的grep:
while read line; do
grep "$line" sequences.txt
done <allids.txt
,但我在哪裏納入命令的輸出? 如果有一個更快的命令,隨時建議!
我的預期輸出:
COG0001.txt
158333741 Acaryochloris_marina_MBIC11017_uid58167 158333741 432 1 432 COG0001 0
379012832 Acetobacterium_woodii_DSM_1030_uid88073 379012832 430 1 430 COG0001 0
COG0002.txt
158339504 Acaryochloris_marina_MBIC11017_uid58167 158339504 491 1 491 COG0002 0
[and so on]
在mysql中導入要快得多,添加一個索引和輸出。 –
mysql對我來說太高級了。我現在已經熟悉'awk'了。 – rororo
你真的需要allids.txt文件嗎?除非有7美元的價值是你特別想要處理的,而放棄其餘的價值,爲什麼不寫下每一行的順序。TXT到基於每行$ 7命名的文件? –