2017-02-14 140 views
-2

我有3列和4426行的一些这样的事匹配行和猫多个文件合并成一个文件

文件1文件:

DAEQUEG00000025 FP3SLUG00002140 FOMPING00001058 
DAEQUEG00001923 FP3SLUG00002391 FOMPING00000186 
DAEQUEG00000047 FP3SLUG00002116 FOMPING00001081 
DAEQUEG00000321 FP3SLUG00006281 FOMPING00000374 

和我有相同数量的文件,并命名同样的方式(DAEQUEG00000025.fa FP3SLUG00002140.fa FOMPING00001058.fa

我想第一行cat文件的列表,并将其匹配到一个文件中。

预期输出(在一个文件中第一行)

 
>DAEQUEG00000025 
ATGTTGTTTAGATTGGCCCGGCGAGCTACAAGCCCGCTCACCCGCTCGATGGCGACGCAT 
GCGCGAGGACTCCCTGCTCTACTCGAGAAGAAACCAGACGATGTAGTCATAACATTCGCA 
>FP3SLUG00002140 
AAGCGTACTGCTATGGCACGCGCGAGGAAGGGTCAGCTAAAGGACATCCCTGTCGACGAG 
>FOMPING00001058 
CTTATGCAGGCTCTCATCAAGACTCAGCTCGATCCAGCTATGCTAGAGGACATATGCGTA 
GGGACTTGTCACCCTCCGTCACCGACGTACATCTCTCGAGCAGCTGCTCTTGCTGCTGGA 
+0

* 4426行*和*我有相同数量的文件*意味着4426个文件? – RomanPerekhrest

+1

..你为自己尝试了什么,你失败了什么? – Inian

+1

只是第一行?那么你想猫共有3个文件? – jas

回答

0

你可以试试,

while read -r a b c; do 
    cat "$a.fa" "$b.fa" "$c.fa" > "${a}_${b}_${c}.fa"; 
done < file1 

你得到几个文件以化合物名称作为输出,例如

DAEQUEG00000025_FP3SLUG00002140_FOMPING00001058 .fa

 
>DAEQUEG00000025 
ATGTTGTTTAGATTGGCCCGGCGAGCTACAAGCCCGCTCACCCGCTCGATGGCGACGCAT 
GCGCGAGGACTCCCTGCTCTACTCGAGAAGAAACCAGACGATGTAGTCATAACATTCGCA 
>FP3SLUG00002140 
AAGCGTACTGCTATGGCACGCGCGAGGAAGGGTCAGCTAAAGGACATCCCTGTCGACGAG 
>FOMPING00001058 
CTTATGCAGGCTCTCATCAAGACTCAGCTCGATCCAGCTATGCTAGAGGACATATGCGTA 
GGGACTTGTCACCCTCCGTCACCGACGTACATCTCTCGAGCAGCTGCTCTTGCTGCTGGA