【问题标题】:assign file names dynamically to match directory name动态分配文件名以匹配目录名
【发布时间】:2015-03-21 03:33:04
【问题描述】:
#!/bin/bash
#script to loop through directories to merge fastq files
sourcedir=/path/to/source
destdir=/path/to/dest

for f in $sourcedir/*
do          
    zcat *R1*.fastq.gz | gzip > $destdir/R1.fastq.gz
    zcat *R2*.fastq.gz | gzip > $destdir/R2.fastq.gz      
done

这里有大约 30 个子目录在目录 'source' 中。每个子目录都有某些 .fastq.gz 文件,我想将它们合并到一个 .fastq.gz 文件中,并将合并后的文件保存到目标目录。如您所见,我正在我的程序中动态创建文件。我希望他们的名字与 fastq 文件所在的目录名(本质上是 $f)相匹配。有没有办法为文件动态分配名称?

【问题讨论】:

    标签: bash fastq


    【解决方案1】:
    fbase=$(basename -- "$f")
    zcat -- *$fbase*.fastq.gz | gzip > "$destdir/$fbase.fastq.gz"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多