我想迭代linux中我目录中的几个文件,如下所示:
SRR057629_1.fastq.gz SRR057629_2.fastq.gz SRR057630_1.fastq.gz
SRR057630_2.fastq.gz SRR057631_1.fastq.gz SRR057631_2.fastq.gz
SRR057632_1.fastq.gz SRR057632_2.fastq.gz SRR057633_1.fastq.gz
SRR057633_2.fastq.gz
我面临的挑战是,我需要SRR..._1
和SRR..._2
作为一个命令(tophat2)的输入,然后接下来的几个SRR***_1
和SRR***_2
同样的命令。原则上它看起来像这样:
tophat2 -G /Homo_sapiens/UCSC/hg19/Annotation/Genes/genes.gtf /Homo_sapiens /UCSC/hg19/Sequence/Bowtie2Index/genome SRR057636_1.fastq.gz SRR057636_2.fastq.gz
tophat2 -G /Homo_sapiens/UCSC/hg19/Annotation/Genes/genes.gtf /Homo_sapiens/UCSC/hg19/Sequence/Bowtie2Index/genome SRR057637_1.fastq.gz SRR057637_2.fastq.gz
那我怎么能为每个命令改变这些数字(粗体)?
SRR0576**29**_1.fastq.gz
SRR0576**29**_1.fastq.gz
祝福, 西蒙
答案 0 :(得分:1)
for a in *_1.fastq.gz; do
tophat2 -G /Homo_sapiens/UCSC/hg19/Annotation/Genes/genes.gtf /Homo_sapiens /UCSC/hg19/Sequence/Bowtie2Index/genome $a ${a/_1/_2}
done