在 shell 中循环遍历文件的两行

在 shell 中循环遍历文件的两行

我有一个如下所示的文件:

>a
TCCACTCCACGC
>b
ACCTCCAG

我想以这样的方式循环遍历文件,即一次考虑 2 行,即>a及其序列,然后我想将这两行存储在变量中,然后进一步使用我的生物信息学工具 clustalomega

像这样的事情

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

循环进行时第一次捕获变量的位置具有以下格式

>a
TCCACTCCACGC

那么下次

>b
ACCTCCAG

我怎样才能做到这一点?

答案1

要收集变量中由换行符分隔的两行...

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

(适用于 ksh、bash、zsh)

相关内容