我有一个包含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 :(得分: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