我正在尝试优化一个for循环,以基于具有SPECIES名称及其相应的ACCESSION号的文件从网站下载文件。我希望循环首先处理每个文件的第一个种类和第一个登录号,依此类推...我尝试了基本规则,但是它不起作用。
#!/bin/sh
#Load modules
module load sra-toolkit/2.10.7-centos_linux64
转录的自动化下载和组装。需要SRA加入和种类代码作为脚本的参数
WORKSPACE=/vto
WORKSPACEFINAL=/vto
SPECIES=${WORKSPACE}/species_names.txt
ACCESSION=$accession_numers.txt
for i in $SPECIES
for j in $ACCESION
do
mkdir $SPECIES
cd $SPECIES
#SRA下载和处理。
prefetch $ACCESSION
fastq-dump --defline-seq '@$sn[_$rn]/$ri' --split-files ${WORKSPACEFINAL}/ncbi/public/sra/${ACCESSION}.sra -O ${ACCESSION}
done
您是否有两个循环而只有一个循环完成了,并且工作正常吗?
正如@Mheni所说的,您似乎没有使用循环的变量
这是一个简单脚本的示例,其中两个循环一个在另一个内
file_a=$(cat file_a.txt)
file_b=$(cat file_b.txt)
for i in $file_a
do
for j in $file_b
do
printf "$i\n"
printf "$j\n"
done
#// if you add code here is outside j loop
done
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句