loop através de um arquivo em 2 linhas no shell

0

Eu tenho um arquivo que se parece com isso:

>a
TCCACTCCACGC
>b
ACCTCCAG

Eu quero percorrer o arquivo de forma que leve em conta 2 linhas de cada vez, ou seja, >a e sua sequência e, em seguida, quero armazenar essas duas linhas em uma variável e depois usar minhas ferramentas de bioinformática clustalomega

Alguma coisa assim

for lines in test.fa; 
do 
    clustalo -i $capture -o outputfile; 
done

onde a variável de captura primeira vez quando o loop vai tem esse formato

>a
TCCACTCCACGC

da próxima vez

>b
ACCTCCAG

Como posso fazer isso?

    
por user3138373 27.02.2015 / 21:29

1 resposta

2

Para coletar as duas linhas separadas por uma nova linha em uma variável ...

while read line1 && read line2
do
    bothlines=$line1$'\n'$line2
    do_something_with "$bothlines"
done < test.fa

(funciona com ksh, bash, zsh)

    
por 27.02.2015 / 21:51