2017-02-14 1 views
-2

У меня есть файл с 3 столбцами и 4426 строки некоторых вещи, как этотСовпадение линия и кошачьи несколько файлов в один файл

file1:

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