首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试创建一个循环,该循环将遍历一个列表,并使用该列表中的某些字段作为bowtie2命令的一部分

尝试创建一个循环,该循环将遍历一个列表,并使用该列表中的某些字段作为bowtie2命令的一部分
EN

Stack Overflow用户
提问于 2020-10-20 03:36:35
回答 1查看 22关注 0票数 0

首先,这是我在这里的第一个问题,我刚刚注册,我是unix的新手,所以如果我做错了什么,请原谅。

好的,我有一个这样的文件,叫做fqfiles;

代码语言:javascript
复制
216     Slender 216_L8_1.fq.gz  216_L8_2.fq.gz
222     Stumpy  222_L8_1.fq.gz  222_L8_2.fq.gz
218     Slender 218_L8_1.fq.gz  218_L8_2.fq.gz
220     Stumpy  220_L8_1.fq.gz  220_L8_2.fq.gz
221     Stumpy  221_L8_1.fq.gz  221_L8_2.fq.gz
219     Slender 219_L8_1.fq.gz  219_L8_2.fq.gz

我需要做的是为它们中的每一个运行bowtie2命令,其语法为;

代码语言:javascript
复制
bowtie2 -x Trypanosoma_brucei_brucei -1 216_L8_1.fq.gz -2 216_L8_2.fq.gz -S 216Slender.sam

所以我想要做的是,对于文件的每一行,使用第一个和第二个字段来构成上面代码的最后部分,使用文件的第三个和第四个字段作为代码的中间部分。

代码语言:javascript
复制
awk '{print $1$2".sam"}' fqfiles
awk '{print -1, $3, -2, $4}' fqfiles

我可以像这样得到这些部分,但我只是很难让它成为一个循环,它将接受第一行,获取第一行的字段,将其放入代码中,运行它,然后重新开始下一行,等等。

有没有人能帮我写这个循环,或者建议我该怎么做?

EN

回答 1

Stack Overflow用户

发布于 2020-10-20 03:53:20

使用read逐行读取文件:

代码语言:javascript
复制
while read -r n s f1 f2 ; do
    bowtie2 -x Trypanosoma_brucei_brucei -1 "$f1" -2 "$f2" -S "$n$s"
done < file
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64434073

复制
相关文章

相似问题

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