解压然后在linux中处理

时间:2017-03-02 10:20:39

标签: linux bash

所以我有一个解压缩文件的脚本:

#!/bin/bash -e 
# will unzip the data without removing the zipped version
gzip -dc $1 > RawData/unzipped/$(basename $1 .gz)

然后我想在解压缩的文件上执行代码,我有

# will run fast qc on the argument passed
fastqc RawData/unzipped/$(basename $1 .gz) --outdir=fastReports/

但第二个脚本似乎永远不会执行。 (注意这些是在同一个脚本中所以我假设它会在第二个脚本之前执行初始脚本)

拉​​链:

14624_1#10_1.fastq.gz  14624_1#12_2.fastq.gz  14624_1#4_1.fastq.gz  14624_1#7_1.fastq.gz
14624_1#10_2.fastq.gz  14624_1#1_2.fastq.gz   14624_1#4_2.fastq.gz  14624_1#7_2.fastq.gz
14624_1#11_1.fastq.gz  14624_1#2_1.fastq.gz   14624_1#5_1.fastq.gz  14624_1#8_1.fastq.gz
14624_1#11_2.fastq.gz  14624_1#2_2.fastq.gz   14624_1#5_2.fastq.gz  14624_1#8_2.fastq.gz
14624_1#1_1.fastq.gz   14624_1#3_1.fastq.gz   14624_1#6_1.fastq.gz  14624_1#9_1.fastq.gz
14624_1#12_1.fastq.gz  14624_1#3_2.fastq.gz   14624_1#6_2.fastq.gz  14624_1#9_2.fastq.gz

提取:

14624_1#10_1.fastq  14624_1#12_1.fastq  14624_1#3_1.fastq  14624_1#5_2.fastq  14624_1#8_1.fastq
14624_1#10_2.fastq  14624_1#12_2.fastq  14624_1#3_2.fastq  14624_1#6_1.fastq  14624_1#8_2.fastq
14624_1#11_1.fastq  14624_1#1_2.fastq   14624_1#4_1.fastq  14624_1#6_2.fastq  14624_1#9_1.fastq
14624_1#11_2.fastq  14624_1#2_1.fastq   14624_1#4_2.fastq  14624_1#7_1.fastq  14624_1#9_2.fastq
14624_1#1_1.fastq   14624_1#2_2.fastq   14624_1#5_1.fastq  14624_1#7_2.fastq

1 个答案:

答案 0 :(得分:1)

您可以使用zcat并动态处理该文件:

fastqc <(zcat path/to/file.gz)

顺便说一下,<()语法是Process Substitution

如果您需要解压缩文件和处理结果,可以使用tee

fastqc <(zcat path/to/file.gz | tee file)