2016-10-19 42 views
0

与不同数量的Linux文件,我想遍历在我的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..._1SRR..._2作为一个命令的输入(tophat2),然后对同一命令采取下一个SRR***_1SRR***_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 

最良好的祝愿, 西蒙

回答

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