首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用两个输入文件作为列表的Bash循环

使用两个输入文件作为列表的Bash循环
EN

Stack Overflow用户
提问于 2021-01-28 17:38:47
回答 1查看 43关注 0票数 1

我正在尝试优化一个for循环,以便从一个基于物种名称和相应加入数的文件中下载文件。我希望循环首先与第一个物种和每个文件的第一个登录号一起工作,等等。我试过这个基本规则,但它不起作用。

代码语言:javascript
复制
        #!/bin/sh
        #Load modules
        module load sra-toolkit/2.10.7-centos_linux64

翻译程序的自动下载和组装。SRA加入和作为脚本参数所需的物种代码

代码语言:javascript
复制
        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下载和处理。

代码语言:javascript
复制
        prefetch $ACCESSION

        fastq-dump --defline-seq '@$sn[_$rn]/$ri' --split-files       ${WORKSPACEFINAL}/ncbi/public/sra/${ACCESSION}.sra -O  ${ACCESSION} 
 

        done
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-29 01:55:02

你有二循环,只有一完成,你有这个工作吗?

正如@Mheni说的,似乎您没有使用循环的变量

这里是一个简单脚本的例子,它有两个循环,一个在另一个循环中。

代码语言:javascript
复制
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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65942404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档