如何解决尝试创建一个循环访问列表的循环,并将该列表中的某些字段用作我的bowtie2命令的一部分
首先,这是我的第一个问题,我刚刚报名参加,我是unix的新手,所以如果做错了事,请原谅。
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命令,其语法为;
bowtie2 -x Trypanosoma_brucei_brucei -1 216_L8_1.fq.gz -2 216_L8_2.fq.gz -S 216Slender.sam
所以我想做的是;对于该文件的每一行,请使用第一个字段和第二个字段构成上面代码的最后一部分,并使用文件的第3个和第4个字段作为代码的中间部分。
awk '{print $1$2".sam"}' fqfiles
awk '{print -1,$3,-2,$4}' fqfiles
我可以得到这些部分,但是我很难使它成为一个循环,该循环将采用第一行,采用第一行的字段,将其放入代码中,运行它,然后重新开始用于下一行等。
有人可以帮我写这个循环,还是建议我应该怎么做?
解决方法
使用read
逐行读取文件:
while read -r n s f1 f2 ; do
bowtie2 -x Trypanosoma_brucei_brucei -1 "$f1" -2 "$f2" -S "$n$s"
done < file
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。